Search code examples
phpmysqllinuxyummysqlnd

How to enable mysqlnd for php?


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

Solution

  • 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