如何为php启用mysqlnd?

Sim*_*onW 45 php mysql linux yum mysqlnd

我安装并运行了PHP(版本:5.3.17),我想切换到mysqlnd(在phpinfo mysqlnd中根本不存在).

我读到它为了设置它,你需要更新./configure命令:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
Run Code Online (Sandbox Code Playgroud)

当我尝试安装它时,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
Run Code Online (Sandbox Code Playgroud)

Seb*_*ler 51

./configure命令是源代码编译过程的一部分.

您可以从源代码编译或通过包管理器安装.我想在你的情况下,包管理器是更可取的.

正如包管理器抱怨的那样,你不能同时安装php-mysqlphp-mysqlnd安装.

所以你可以

yum remove php-mysql
Run Code Online (Sandbox Code Playgroud)

之前

yum install php-mysqlnd
Run Code Online (Sandbox Code Playgroud)

然后通过检查成功

php -m | grep mysqlnd
Run Code Online (Sandbox Code Playgroud)

要么

php -i | grep mysqlnd
Run Code Online (Sandbox Code Playgroud)

  • @FelipeSchenone /其他人,你可以在yum shell中用mysqlnd无缝更新php-mysql:1.`yum shell` 2.`删除php-mysql` 3.`install php-mysqlnd` 4.`run` 5 .`退出`,然后重新启动Apache,它将加载本机驱动程序 (2认同)

小智 5

yum swap php-mysql php-mysqlnd
Run Code Online (Sandbox Code Playgroud)

  • 你能解释你的答案吗? (2认同)