How to enable mysqlnd for php?

SimonW picture SimonW · Oct 31, 2012 · Viewed 98.8k times · Source

I have PHP installed and running (version: 5.3.17) and I want to switch to mysqlnd (in the phpinfo mysqlnd does not exist at all).

I read that in order to set it, you need to update the ./configure command:

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

When I tried installing it with yum install php-mysqlnd I get an error:

---> 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

Answer

Sebastian Keßler picture Sebastian Keßler · Nov 1, 2012

The ./configure command is part of the compilation process from source code.

You can either compile from source or install via package manager. I guess in your case the package manager is preferable.

As the package manager complains, you can’t have both php-mysql and php-mysqlnd installed.

So you can

yum remove php-mysql

before

yum install php-mysqlnd

Then check for success via

php -m | grep mysqlnd

or

php -i | grep mysqlnd