Исправление ошибки подключения к базе данных PHP с обновленной библиотекой MySQL

Я потратил несколько часов, пытаясь выполнить миграцию с CentOS 5.5 на 7, в которой все работало, кроме сайтов на основе PHP, подключающихся к серверу MySQL для веб-сайта. Перл работал нормально. Команды CLI работали нормально. Я пробовал каждое решение, указанное в Stack Overflow и в других местах:

  • Убедитесь, что /etc/hosts содержит localhost в качестве первой записи для 127.0.0.1.
  • Убедитесь, что PHP правильно указывает на правильный сокет
  • Попробуйте поменять местами localhost и 127.0.0.1 в настройках подключения
  • Проверил php.ini на наличие любых настроек, которые отличались между моей функциональной установкой CentOS 5.5 и новой стандартной установкой CentOS 7.

Досадно, что я не мог заставить PHP сбрасывать ошибки, будь то через Apache или где-либо еще. Все это сводило с ума.


person GlennFleishman    schedule 24.12.2015    source источник
comment
Хорошо, что вы делаете, но решение должно прийти как ответ. Пожалуйста, попробуйте разделить вопрос, а затем напишите решение в разделе ответов. Таким образом, это не останется нерешенным...   -  person FirstOne    schedule 24.12.2015
comment
Спасибо! Фиксируется в этой паре вопросов/ответов.   -  person GlennFleishman    schedule 25.12.2015


Ответы (1)


Проверив в пятый раз, что у меня установлены нужные драйверы, я понял, что существует два пакета CentOS/yum: один — php-mysql; другой — php-mysqlnd, родной драйвер.

Удаление php-mysql, который явно устарел, но который я использовал в CentOS 5.5, и установка php-mysqlnd мгновенно устранили проблему.

Я не смог найти других ответов такого рода, поэтому, возможно, моя ситуация уникальна. Но я хотел задокументировать это на случай, если кто-то еще столкнется с той же проблемой миграции.

person GlennFleishman    schedule 24.12.2015