[英]PHP Fatal error: [ionCube Loader] The Loader must appear as the first entry in the php.ini
当我尝试启动 Apache 时,Apache 错误日志中出现以下错误:
PHP 致命错误:[ionCube Loader] Loader 必须作为 php.ini 文件中第 0 行的 Unknown 中的第一个条目出现
从错误消息本身可以清楚地看出错误是什么。 在 stackoverflow 上发帖之前,请做一些研究。
Zend 扩展可以直接从/etc/php.ini文件加载或包含在/etc/php.d/目录中。
在以下示例中,此 ioncube 行必须出现在任何 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 重启
正如@Hari Swaminathan 所说,在查找此错误时来到此线程。
如果扩展是从 /etc/php.d 加载的,它们将按字母顺序加载
我在 docker 设置中遇到错误。 所以将ini文件命名为00-ioncube.ini
解决了这个问题
发生此错误的原因是 PHP 配置中的扩展顺序不正确。 阅读本网站可能对您有所帮助。 您必须以更高的优先级加载 ioncube。
在 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.