Поддержка Проблемы и решения Доступ к базе при обновлении PHP

  • Сайт реализован на WP, версия 5.2.2. Рекомендовано обновление PHP (сейчас 5.6, рекомендуют 7.0 — 7.3)
    При обновлении PHP перестает открываться даже админка WP с сообщением:

    Ошибка установки соединения с базой данных
    Это значит, что либо имя пользователя и пароль в файле wp-config.php неверны, либо нам не удалось связаться с сервером базы данных по адресу localhost. Возможно, сервер недоступен.
    Вы уверены, что указали правильное имя пользователя и пароль?
    Вы уверены, что ввели правильное имя сервера?
    Вы уверены, что сервер базы данных запущен?
    Если вы не знаете, что означают эти термины — возможно, стоит обратиться к хостинг-провайдеру. Если и после этого вам понадобится помощь — всегда можно посетить форум поддержки WordPress.

    Комментарий службы ТП провайдера:

    В новых версиях php объявлены устаревшими и удалены некоторые функции, акутальные для php версии 5. Например, mysql_connect.

    Как быть? Когда могут появиться обновы, способные работать с MySQL под PHP7.x?

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Модератор Yuri

    (@yube)

    Когда могут появиться обновы, способные работать с MySQL под PHP7.x?

    WP давно нормально работает с php7. Как минимум, 4.2, более старые я не пробовал.

    Когда могут появиться обновы, способные работать с MySQL под PHP7.x?

    почти год как появились

    Модератор Yui

    (@fierevere)

    永子

    обратите внимание на то, чтобы в вашем PHP было включено расширение mysqli (да — да, именно с i на конце, mysql обьявлено устаревшим уже очень давно, и было удалено в PHP7+, вместо него нужно использовать mysqli )

    WP использует его автоматически

    Модератор Yuri

    (@yube)

    Рекомендации
    PHP версии 7.3 или выше.

    http://moovk.ru/readme.html

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Когда могут появиться обновы, способные работать с MySQL под PHP7.x?

    Появились четыре года назад, текущая рекомендуемая версия — PHP 7.3.

    Всем спасибо. Yui, буду трясти хостера по поводу mysqli.

    Из переписки с ТП хостинга:

    Изменили пароль для базы данных на тот же самый при смене версии php, так как, иногда, у CMS WordPress он может «сбиваться».
    На данный момент скрипт отрабатывает, проверьте, пожалуйста.

    Меня их объяснение несколько смущает, но тем не менее…
    Сам сайт заработал; при входе в админку под любым пользователем кроме admin получаю сообщение:

    ArgumentCountError thrown
    Too few arguments to function wp_maybe_grant_site_health_caps(), 3 passed in /home/m/moovkru/public_html/wp-includes/class-wp-hook.php on line 286 and exactly 4 expected

    В какую сторону теперь рыть — вообще не понимаю.

    • Ответ изменён 4 года, 6 месяцев назад пользователем raudulv.
    • Ответ изменён 4 года, 6 месяцев назад пользователем raudulv.
    • Ответ изменён 4 года, 6 месяцев назад пользователем raudulv.
    Модератор Yui

    (@fierevere)

    永子

    Изменили пароль для базы данных на тот же самый при смене версии php, так как, иногда, у CMS WordPress он может «сбиваться».

    он не сбивается у WordPress, самопроизвольно содержимое файла wp-config.php меняться не может.
    А вот пароль в принципе поменять стоило, потому что.
    В реально старых версиях MySQL может использоваться старый алгоритм хеширования, который не поддерживается новыми версиями mysqlnd (нативная библиотека доступа в PHP пришедшая на замену libmysqlclient)
    Т.е. если старый пароль для БД был задан еще для MySQL 4.1 и ниже.
    Подход в принципе правильный, но вот WordPress тут совсем не причем.

    ArgumentCountError thrown
    Too few arguments to function wp_maybe_grant_site_health_caps(), 3 passed in /home/m/moovkru/public_html/wp-includes/class-wp-hook.php on line 286 and exactly 4 expected

    тут уже не база данных, а скорее всего какой-то устаревший плагин тянет ошибку.

    Попробуйте переименовать папку плагинов /wp-content/plugins например в plugins0
    и посмотреть не изчезнет ли ошибка.
    А дальше по одному ищите виновного.

    Yui, спасибо большое.
    Да, при отключенных плагинах вход выполняется нормально.
    При поодиночном отключении плагинов (а мы помним, что проблема возникает при входе) хостер меня блокирует, воспринимая неоднократные частые попытки входа как брутфорс.
    Но это уже совсем другая история.
    А эту тему, как мне кажется, можно закрыть.

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Тема «Доступ к базе при обновлении PHP» закрыта для новых ответов.