PHP模块编译API不正确(无法初始化)

前端之家收集整理的这篇文章主要介绍了PHP模块编译API不正确(无法初始化)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在RHEL5盒子上安装freetds和PHP-mssql.我已成功完成(似乎是)所有事情.但是,当 PHP尝试加载模块时,我收到以下错误
PHP Warning:  PHP Startup: mssql: Unable to initialize module
Module compiled with module API=20090626,debug=0,thread-safety=0
PHP    compiled with module API=20050922,thread-safety=0
These options need to match

我一直在努力弄清楚为什么他们有不同的价值,但没有成功.

在最新的尝试中,我下载了我正在运行的版本的PHP源码(PHP-5.3.8),进入了ext / mssql文件夹并运行了PHPize,configure,make,make install.

我验证了mssql.so文件在相应的文件夹中,并且该PHP正在尝试加载它.

PHPize -v
Configuring for:
PHP Api Version:         20050922
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
RHEL有一个较旧版本的PHP(5.1.x),安装较新的PHP版本(如5.3.x)意味着一些变化.如果从非官方的repos安装,你会看到名为PHP- *和PHP5- *的软件包.两个版本都可以成为问题的根源.

看起来你的系统正在从之前的PHP安装中访问一些配置文件.

看一下:
– /etc/PHP.d确保没有旧版本的元素
– 看一下/usr/bin/PHP-config *,如果你有PHP-config和PHP-config5,删除(重命名)/usr/bin/PHP-config并为新的符号链接做一个符号链接

# mv /usr/bin/PHP-config /usr/bin/PHP-config_old
# ln -s /usr/bin/PHP-config5 /usr/bin/PHP-config

希望这可以帮助

猜你在找的PHP相关文章