在Apache的errorlog里发现多条这样的日志:
Cannot load the ionCube PHP Loader - it was built with configuration API220090626,NTS, whereas running engine is API220100525,NTS, referer:
初步判断是由于ionCube和PHP版本不匹配的问题导致的。下面是排查过程:
1.首先检查ionCube是否被正确加载:
#php -m
这个命令会将php加载的所有模块列出,检查看是否有ionCube和Zend模块。
2.查看PHP版本:
#php -v
同样会有 Cannot load the ionCube PHP Loader 的提示。
3.检查已安装的ionCube:
#locate ioncube /usr/local/lib/ioncube_loader_lin_5.3.so /usr/local/lib/ioncube_loader_lin_5.4.so
4.检查php.ini设置:
发现在php.ini中同时配置了两个版本的ioncube,使用分号注释掉和当前PHP版本不匹配的ioncube。
zend_extension=/usr/local/lib/ioncube_loader_lin_5.4.so ;zend_extension=/usr/local/lib/ioncube_loader_lin_5.3.so zend_extension=/usr/local/lib/ZendGuardLoader.so
5.重新加载php.ini:
#service httpd reload
本文结束。
Leave a comment