Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP致命错误:[ionCube加载程序]加载程序必须显示为PHP.ini中的第一个条目_Php - Fatal编程技术网

PHP致命错误:[ionCube加载程序]加载程序必须显示为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

当我尝试启动Apache时,Apache错误日志中会出现以下错误:

PHP致命错误:[ionCube加载程序]加载程序必须显示为第一个 第0行中未知的php.ini文件中的条目


发生此错误的原因是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
。我最好在最上面