前端之家收集整理的这篇文章主要介绍了
PHP模块编译API不正确(无法初始化),
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
404_0@
我正在尝试在RHEL5盒子上安装freetds和
PHP-ms
sql.我已成功完成(似乎是)所有事情.但是,当
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
希望这可以帮助