为PHP 5.3指定外部mysql驱动程序

时间:2011-03-07 22:59:42

标签: php mysql apache

我有一个服务器集群运行apache + mod_python,MySQL Cluster(NDB)作为数据库。 python中的代码使用MySQLdb。

今天我在Web门户网站上添加了一个需要PHP的新软件包。所以不知道PHP 5.3现在附带的所谓的mysqlnd内部驱动程序,我在同一台服务器上启用了mod_php。

这突然导致了python代码的彻底崩溃!在挖掘了一下之后,我注意到MySQLdb库正在将整数和其他类型作为字符串(python代码不期望)进行回归。

从apache禁用mod_php修复它。

我的结论是以某种方式覆盖了在apache环境中处理NDB内容的本机mysql驱动程序,并弄乱了返回和所有内容。

现在,我的问题是我该怎么办?有没有办法告诉PHP使用系统中安装的mysql驱动程序并禁用它的内部mysql驱动程序?

1 个答案:

答案 0 :(得分:0)

您最好的选择可能是使用FastCGI和新的FPM SAPI而不是mod_php。这将PHP本身与Apache分离,这将防止您遇到的库混淆。

(值得注意的是,如果您的Python程序使用WSGI,那么您也可以使用one of the WSGI-FastCGI adapters而不是mod_python。)