PHP无法初始化Mysqli

时间:2017-10-31 13:49:10

标签: php mysqli

我们有一个自定义编译的php(5.6.32),我们想要使用mysqli。我们确实有一个旧的编译版本(5.3.10),运行正常。

我们在

中有一个旧的mysqli.so
/usr/lib64/php/modules/mysqli.so

我们正在使用

编译php
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-zlib --with-libdir=lib64 --with-openssl --with-curl --enable-soap --with-mysqli

我也试过

--with-mysqli=/usr/bin/mysql_config

确认

checking for MySQLi support... yes

然而,当我们尝试运行php时,我们会收到错误...

HP Warning:  PHP Startup: mysqli: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20131226

我的猜测是因为之前的编译还有一个旧的mysqli.so文件?

无论我们尝试做什么,都不会在任何地方创建新的mysqli.so文件。

php编译应该创建mysqli.so吗? (如果不是我们如何重新创建它)。或者关于如何解决问题的任何其他想法?

config.nice显示

'./configure' \
'--with-apxs2=/usr/local/apache2/bin/apxs' \
'--with-mysql' \
'--with-zlib' \
'--with-libdir=lib64' \
'--with-openssl' \
'--with-curl' \
'--enable-soap' \
'--with-mysqli' \
"$@"

1 个答案:

答案 0 :(得分:0)

我认为这个错误实际上可能是一个红色的鲱鱼,我还在测试。 Mysqli似乎正在工作,一开始就出现错误。

所以现在mysqli可能以某种方式构建到二进制文件中,并且不需要mysqli吗?

所以我只是在php.ini文件中注释掉了mysqli.so。所以错误不再发生(因为我认为它不是在尝试加载旧的.so库)。

我仍然对mysqli现在如何运作感到困惑,所以如果有人有更好的答案,我会很乐意接受。