Как включить mysqlnd для php?

У меня установлен и работает PHP (версия: 5.3.17), и я хочу переключиться на mysqlnd (в phpinfo mysqlnd вообще не существует).

Я прочитал это, чтобы установить его, вам нужно обновить команду ./configure:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \

Когда я пытался установить его с помощью yum install php-mysqlnd я получал сообщение об ошибке:

---> Package php-mysqlnd.x86_64 0:5.3.17-1.26.amzn1 will be installed
--> Processing Conflict: php-mysql-5.3.17-1.26.amzn1.x86_64 conflicts php-mysqlnd
--> Finished Dependency Resolution
Error: php-mysql conflicts with php-mysqlnd

Ответ 1

Команда ./configure является частью процесса компиляции из исходного кода.

Вы можете либо скомпилировать исходный код, либо установить через диспетчер пакетов. Думаю, в вашем случае предпочтительнее менеджер пакетов.

Как жалуется менеджер пакетов, вы не можете установить как php-mysql, так и php-mysqlnd.

Итак, вы можете

yum remove php-mysql

до

yum install php-mysqlnd

Затем проверьте успех с помощью

php -m | grep mysqlnd

или

php -i | grep mysqlnd

Ответ 2

yum install php-mysqlnd доступен только для CentALT и, возможно, для ремиксов. В Webtatic также есть хорошие репозитории php. Это НЕ по умолчанию (я использовал CentOS).

Ответ 3

yum swap php-mysql php-mysqlnd

Ответ 4

Я могу опоздать с этим, но это может помочь другим. Как уже говорилось в другом месте на форуме, если вызов функции, такой как get_result, жалуется, что она не определена, то php-mysqlnd должен быть установлен (этот вопрос). Я понял, что установка yum (centos) автоматически сообщит, что она хочет удалить php-mysql и phpmyadmin; не принимайте это, поскольку ваш phpmyadmin может не работать после. Вместо этого используйте оболочку yum, которая сразу примет команды и изящно обработает изменения; сделать это в командной строке:

# yum shell
> remove  php-mysql
> install php-mysqlnd
> run
> quit

Теперь вам, возможно, придется перезапустить службы mariadb (скорее всего) и httpd.

Ответ 5

Не знаю, понимаю ли я вас правильно. Просто скачайте источник php (php-5.x.x.tar.gz), распакуйте источник и перейдите в этот каталог, затем

 bash:/dir/of/your/source # ./configure --with-mysql=... and your other config params

после этого просто сделайте это

 bash:/dir/of/your/source # sudo make && make install

Ответ 6

Как и в PHP 5.4, библиотека mysqlnd является стандартным временем компиляции php.net во всех расширениях PHP MySQL. - Ссылка: dev.mysql.com

было бы немного проще использовать XAMPP для Linux 1.8.1 (он поставляется с PHP 5.4.7), а затем компилируется из источника.