PHP警告:模块';imagick';已在第0行的未知中加载
我有一个简单的测试文件,其中只有php代码: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'已加载到未知
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
中或加载库的某个地方。