Как включить 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), а затем компилируется из источника.