PHP警告:模块';imagick';已在第0行的未知中加载

PHP警告:模块';imagick';已在第0行的未知中加载,php,error-handling,Php,Error Handling,我有一个简单的测试文件,其中只有php代码: if (isset($_REQUEST['back']) && ($back != '')) { $back = $_REQUEST['back']; } $filename = 'images/'.$back.'.jpg'; $file = (file_exists($filename)) ? $back : 'back1'; 现在,每次运行该文件时,我都会在错误日志的第0行添加这一行PHP警告:模块'imagick'已加载到未知

我有一个简单的测试文件,其中只有php代码:

if (isset($_REQUEST['back']) && ($back != '')) { $back = $_REQUEST['back']; }
$filename = 'images/'.$back.'.jpg';
$file = (file_exists($filename)) ? $back : 'back1';

现在,每次运行该文件时,我都会在错误日志的第0行添加这一行
PHP警告:模块'imagick'已加载到未知中。有什么建议吗?

在安装了针对PHP的imagick扩展之后。当我执行
php fpm-v
时,我遇到了相同的问题,如下所示:

[root@localhost]# php-fpm -v
[10-Oct-2018 16:00:33] NOTICE: PHP message: PHP Warning:  Module 'imagick' already loaded in Unknown on line 0

因为我在安装php的imagick扩展时手动创建了
echo extension=imagick.so>>php.ini
echo extension=imagick.ini
。我将删除
imagick.ini
现在,重新启动php。这是一个解决方案!

仅用于记录,因为它可能会帮助共享主机(cPanel)上的其他用户

我在共享主机php7.2上出错: 模块“imagick”已加载到第0行的未知中

一开始,托管提供商说这是我的错误配置(运行Yii2.16)。但在我向他们展示了所有与服务器配置相关的互联网之后,他们开始听我说。在我证明php7.1没有错误后,他们开始搜索错误

他们确认,他们(在出现错误之前)将7.2更新为新版本(7.2.14),修复了其他一些错误,但Imagick错误开始出现。现在他们也找到了解决办法。正如他们告诉我的那样——错误发生在PERL模块或PEAR包的配置中,但他们没有告诉我真正的问题


解决方案,如果您使用的是共享主机-与您的提供商交谈,并尝试使用PHP版本(如果您可以更改它们)。

打开您的PHP.ini文件并对其进行注释

;extension=imagick.so

这解决了我的问题

请确保只激活一次imagick。
如果是windows:
活动的
extension=php_imagick.dll
和注释/删除类似
;扩展名=imagick


extension=imagick.so
在我的php.ini中不存在,所以我通过在Home>>软件>>模块安装程序-“php Pecl”安装程序下使用WHM重新安装
imagick(3.4.4)
解决了这个问题


没有更多错误(到目前为止)。

也可以使用/etc/php.d中的ini文件加载这些库。请确保它不在此处和php.ini中的文件中。

该错误意味着您在某处尝试加载模块两次。可能在Apache配置中。谢谢CFreak,但这与某个地方的三行代码有关。你看到这里有什么问题吗?问题不在于那三条线。问题是“imagick”库被加载了不止一次。问题出现在
php.ini
中或加载库的某个地方。