PHP致命错误:[ionCube加载程序]加载程序必须显示为PHP.ini中的第一个条目
当我尝试启动Apache时,Apache错误日志中会出现以下错误: PHP致命错误:[ionCube加载程序]加载程序必须显示为第一个 第0行中未知的php.ini文件中的条目PHP致命错误:[ionCube加载程序]加载程序必须显示为PHP.ini中的第一个条目,php,Php,当我尝试启动Apache时,Apache错误日志中会出现以下错误: PHP致命错误:[ionCube加载程序]加载程序必须显示为第一个 第0行中未知的php.ini文件中的条目 发生此错误的原因是PHP配置中的扩展顺序不正确。阅读可以帮助你。 您必须以更高的优先级加载ioncube。从错误消息本身可以清楚地知道错误是什么。请在stackoverflow上发布之前进行一些研究 Zend扩展可以直接从/etc/php.ini文件加载,也可以从/etc/php.d/目录中包含 在以下示例中,此ionc
发生此错误的原因是PHP配置中的扩展顺序不正确。阅读可以帮助你。
您必须以更高的优先级加载ioncube。从错误消息本身可以清楚地知道错误是什么。请在stackoverflow上发布之前进行一些研究 Zend扩展可以直接从/etc/php.ini文件加载,也可以从/etc/php.d/目录中包含 在以下示例中,此ioncube行必须出现在任何Zend配置节之前。这些部分通常以[Zend]开头,因此应该很容易看到: zend_extension=/usr/lib/ioncube/php\u ioncube\u loader\u lin\u 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
解决了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如果您使用ubuntu
phpenmod ioncube
或类似工具来启用该模块,请在/etc/php/7.4/fpm/conf.d
和其他文件中仔细检查符号链接顺序10 opcache.ini
获得的优先级高于导致此问题的20 ioncube.ini
。我最好在最上面