当我尝试启动Apache时,Apache错误日志中会出现以下错误:
PHP致命错误:[ionCube Loader] Loader必须显示为第一个 第0行的Unknown中的php.ini文件中的条目
答案 0 :(得分:6)
从错误消息本身可以清楚地看出错误是什么。请先在stackoverflow上发布一些研究。
Zend扩展可以直接从 /etc/php.ini 文件加载,也可以从 /etc/php.d / 目录中加载。
在以下示例中,此离子立方体线必须出现在任何Zend配置部分之前。这些部分通常以[Zend]开头,因此它们应该很容易看到:
的zend_extension = / usr / lib中/ Ioncube公司/ php_ioncube_loader_lin_X.X.so
如果从/etc/php.d加载扩展,则按字母顺序加载它们。通常,ioncube文件名为/etc/php.d/ioncube.ini,zend为/etc/php.d/zend.ini。在这种情况下,它不应该出现问题。
最后,确保只加载一次ioncube。以下命令应仅返回一个结果:
grep'zend_extension。 ioncube'/etc/php.ini /etc/php.d /
如果进行任何配置更改,请务必重新启动Apache:
/etc/init.d/httpd restart
答案 1 :(得分:3)
在寻找这个错误时来到这个线程,正如@Hari Swaminathan所说。
如果从/etc/php.d加载扩展,则按字母顺序加载
我在docker设置上遇到了错误。所以命名像00-ioncube.ini
这样的ini文件解决了问题
答案 2 :(得分:1)
由于PHP配置中的扩展顺序不正确,因此发生此错误。阅读this website可能会对您有所帮助。 您必须加载具有更高优先级的离子立方体。
答案 3 :(得分:0)
在docker本地开发中遇到了相同的问题
能够添加特定于ioncube的ini文件和模块文件
# Add ioncube
ADD etc/ioncube_loader_lin_7.2.so $PHP_EXT_DIR/ioncube_loader_lin_7.2.so
# Add php overrides
ADD etc/docker-php-ext-ioncube.ini $PHP_INI_DIR/conf.d/docker-php-ext-ioncube.ini
感谢@davidmpaz