繁体   English   中英

PHP 致命错误:[ionCube Loader] Loader 必须作为 php.ini 中的第一个条目出现

[英]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 重启

https://mediatemple.net/community/products/dv/204404974/resolve-apache-error:-%22php-fatal-error:-%5Bioncube-loader%5D%22

正如@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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM