Тот же PHP, тот же сервер, разные результаты - PullRequest
0 голосов
/ 30 сентября 2018

У меня три домена на одном сервере (CentOS 7.5.1804), все работают под управлением WordPress 4.9.8, все работают под одной и той же версией PHP (7.2.10) и используют один и тот же файл php.ini (буквально, а неодин и тот же файл php.ini, скопированный в каждый каталог, один и тот же файл).

Проблема в том, что WordPress считает, что только на одном домене у меня не установлено php-mysql, а на двух других сайтахработать без проблем.

В нерабочем домене я получаю следующее:

В вашей установке PHP отсутствует расширение MySQL, которое требуется WordPress.

Несмотря на то, что на нерабочем сайте используется тот же файл php.ini, в отчете phpinfo() отсутствует раздел mysqli.

Домены: hummdis.com (нерабочий), dev.hummdis.com (рабочий), exoticallyplugged.com (рабочий).

Мысли ??

Ответы [ 3 ]

0 голосов
/ 30 сентября 2018

Итак, я решил проблему и не уверен на 100%, что ее решило.Тем не менее, это шаги, которые я предпринял:

  1. yum update
  2. Это привело к:

Найдено 3 ранее существовавших rpmdbпроблема (и), вывод 'yum check' следующий:

Я не собираюсь предоставлять полное обновление, дело в том, что я не смог выполнить обновление Yum из-за этих проблем.

Я нашел этот пост и следовал инструкциям. Затем я нашел этот пост и следовал инструкциям по установке yum plugin-priorities.

Затем я проверил сайт и он загружается без проблем.

0 голосов
/ 30 сентября 2018

Возможно, отсутствует в $ PATH местоположение, некоторая информация.Перейдите в строку commnad рабочего домена и выполните команду: what php-mysql и введите тот же commnad для того, который не работает.

Похоже, если вы используете другого пользователя linux, в .profile возникает проблема

0 голосов
/ 30 сентября 2018

Единственное объяснение, которое я могу придумать, это то, что все тесты для MySQL не проходят , и они делают на всех ваших сайтах .

Но на двух рабочих сайтах, у вас есть файл исправления db.php, который все исправляет.На той, которая не работает, WP_CONTENT_DIR не имеет исправлений.

Это соответствующий раздел источника :

if ( ! extension_loaded( 'mysql' ) && ! extension_loaded( 'mysqli' )
    && ! extension_loaded( 'mysqlnd' ) && ! file_exists( WP_CONTENT_DIR . '/db.php' ) ) {
    wp_load_translations_early();
    $protocol = wp_get_server_protocol();
    header( sprintf( '%s 500 Internal Server Error', $protocol ), true, 500 );
    header( 'Content-Type: text/html; charset=utf-8' );
    die( __( 'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.' ) );

Как видите, ошибкагенерируется, только если все тесты не пройдены, и «db.php» не найден.

Вы также можете проверить, совпадают ли директивы .htaccess между сайтами.Кажется, я помню, что модули MySQL могут загружаться динамически, и если это так, возможно, некоторые сайты загружают их, а некоторые нет .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...