Нет подходящих цитат

Исправление предупреждения PHP: mysqli_real_connect(): (HY000/2002): with WP CLI and MAMP

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
26 апреля 2019
Исправление предупреждения PHP: mysqli_real_connect(): (HY000/2002): with WP CLI and MAMP
Это будет короткий пост, но мы сочли это необходимым, поскольку нам приходилось сталкиваться с этим нестандартным способом, учитывая нашу ситуацию. Мы решили поиграть с WP CLI, но столкнулся с несколькими проблемами конфигурации.

Его было достаточно просто установить, но мы получили ряд ошибок после выполнения следующей команды:

 wp scaffold _s

 

Трассировка стека ошибки началась с чего-то, связанного со следующим сообщением об ошибке, выгруженным PHP:

 PHP Warning: mysqli_real_connect(): (HY000/2002): Connection refused in /path/to/wordpress/wp-includes/wp-db.php on line 1531

 

И затем это закончилось более дружественной, но немного менее полезной ошибкой от WP CLI:

 Error: Error establishing a database connection. This either means that the username and password information in your `wp-config.php` file is incorrect or we can’t contact the database server at `127.0.0.1`. This could mean your host’s database server is down.

 

Мы пол дня возились с локальными базами данных, поэтому решили, что это что-то напортачило. Проверив, что все работает, и мы не поменяли местами порты в MAMP и вышли в Stack Overflow.

Мы нашли несколько ответов,  которые объясняют суть проблемы в том, что класс PHP  mysqli_real_connect( ) пытается получить доступ к базовому сокету UNIX способом, который не очень хорошо работает с  localhost.

Мы не разбирались в том, что на самом деле происходит на системном уровне, так как мы просто хотели более чистый способ начать новую тему. В нескольких ответах предлагается изменить  localhost на локальный IP-адрес, такой как 127.0 .0 .1, но это, похоже, не решило проблему полностью, что привело обратно к MAMP и MySQL Workbench.

Основываясь на подробных ответах по переполнению стека, похоже, что класс PHP ожидает, что SQL будет работать на порте по умолчанию, который обычно равен 3306. Поскольку наша версия MAMP по умолчанию использует порт 8889, мы решили, что это может быть проблемой.

В конце концов, вот как  выглядит наш wp-config.php, и теперь все работает:

 /** MySQL hostname */ define('DB_HOST', '127.0.0.1:8889');

 

Мы надеемся, что сможем спасти кому-то лишнее время в решении этой проблемы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 91

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам:

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close