Вопрос или проблема
У меня возникает предупреждение php:
mysql_connect(): Headers and client library minor version mismatch. Headers:50547 Library:50624
Также я читал, что мне нужно установить mysqlnd на свой сервер. Я попытался сделать это, используя:
yum install php-mysqlnd
но получил ошибку:
Transaction check error:
file /etc/php.ini from install of php-common-5.5.34-1.el6.remi.x86_64 conflicts with file from package php56w-common-5.6.20-1.w7.x86_64
file /usr/lib64/....
Вы должны сначала удалить конфликтующий пакет, прежде чем сможете установить php-mysqlnd:
yum remove php56w-common
yum install php-mysqlnd
.
Ответ или решение
Установка mysqlnd для PHP 5.6 на CentOS 7 может быть несколько сложной процедурой, учитывая возникновение конфликтов между пакетами. Проблема, с которой вы столкнулись, связана с несоответствием версии библиотек, используемых PHP, что вызывает предупреждение:
«mysql_connect(): Несоответствие минорной версии заголовков и клиентской библиотеки. Заголовки:50547, Библиотека:50624».
Чтобы устранить это предупреждение, вам необходимо установить mysqlnd (MySQL Native Driver) вместо старой библиотеки mysql, которая вызывает конфликт.
Шаги по установке mysqlnd:
-
Проверка установленных пакетов:
Прежде чем двигаться дальше, убедитесь, какие версии PHP установлены, и конфликтующие пакеты. Выполните:rpm -qa | grep php
-
Удаление конфликтующих пакетов:
Как было указано, конфликтуют пакетыphp-common-5.5.34-1.el6.remi.x86_64
иphp56w-common-5.6.20-1.w7.x86_64
. Поэтому сначала удалите конфликтующий пакет:yum remove php56w-common
Обратите внимание, что удаление этого пакета может повлечь за собой удаление других зависимых модулей. Будьте готовы установить их обратно после завершения процесса.
-
Установка mysqlnd:
После устранения конфликта выполните команду для установки mysqlnd:yum install php-mysqlnd
Убедитесь, что все прошло без ошибок.
-
Проверка и перезапуск PHP:
Убедитесь, что mysqlnd правильно установлен, запустив:php -m | grep mysqlnd
Для завершения процесса перезапустите веб-сервер:
systemctl restart httpd
или
systemctl restart php-fpm
Эти шаги должны помочь исправить проблему с несоответствием версии клиентской библиотеки, повысив стабильность и производительность вашего PHP-приложения. Не игнорируйте важность отказа от устаревших версий, это повысит не только безопасность, но и производительность вашей системы.