我有一个简单的测试文件,其中唯一的php代码是:
if (isset($_REQUEST['back']) && ($back != '')) { $back = $_REQUEST['back']; }
$filename = 'images/'.$back.'.jpg';
$file = (file_exists($filename)) ? $back : 'back1';
现在每次我运行这个文件,我都会在错误日志中添加这一行PHP Warning: Module 'imagick' already loaded in Unknown on line 0
。
8条答案
按热度按时间z9smfwbn1#
打开你的php.ini文件并注解它
这解决了我的问题
kuuvgm7e2#
确保你只激活imagick一次.
如果窗口:
激活
extension=php_imagick.dll
并像;extension=imagick
一样注解/删除follow this tutorial
b0zn9rqh3#
extension=imagick.so
不存在于我的php.ini中,所以我通过使用WHM在Home〉〉Software〉〉Module Installers -“PHP Pecl”Installer下重新安装imagick (3.4.4)
来解决这个问题。没有更多的错误(到目前为止)。
toe950274#
只是为了记录在案,因为它可能会帮助其他人谁是共享主机(cPanel)。
我在共享主机php7.2上遇到错误:模块"imagick"已加载到未知的第0行
一开始主机提供商说是我的配置不好(运行Yii2.16),但我给他们看了之后,所有的互联网都把这个问题和服务器配置联系在一起--他们开始听我的,在我证明php7.1没有错误之后,他们开始搜索错误。
他们确认,他们更新了7.2(之前的错误)到新版本(7.2.14),这修复了一些其他的错误,但Imagick错误开始出现。现在他们也找到了修复。正如他们告诉我的-错误是在Perl模块或PEAR包的配置,但他们没有告诉我真正的问题。
解决方案,如果你是在共享主机-谈你的供应商和实验PHP版本(如果你可以改变他们)。
q8l4jmvw5#
这些库也可以使用/etc/php. d中的ini文件加载。请确保它不在此处和php. ini中的文件中。
fkaflof66#
在安装了PHP的imagick扩展之后,当我执行
php-fpm -v
时,我遇到了同样的问题,如下所示:因为我在安装PHP的imagick扩展时手动创建了
echo extension=imagick.so >> php.ini
和echo extension=imagick.ini
。我现在要删除imagick.ini
,重新启动php。问题解决了!eivgtgni7#
通过关于这个问题的乏味时刻,我发现了一个解决方案,如果你试图卸载和安装ImageMagick与PECL,也有排序的问题在这里与www.example.com文件.!因为哑"源安装"在服务器上与CPanel实际上获得WebP支持.imagick.so file. ! Because of dumbly "source installing" on a server with CPanel to actually get WebP support.
但你不需要复制我下面的方式,也许你只需要做:
实际上是在EasyApache 4中重新安装这个模块:
模块_逻辑状态
在你重新安装了mod之后,你就可以通过系统中的那个模块来重置php.ini文件了。然后很容易等待另一个完整的error_log,这可能从现在开始就不会发生了。
备选方案二:
我试过用yum甚至PECL卸载所有rpm,并使用ImageMagick作为源文件,一开始就错误地安装了整个系统。ImageMagick源文件很难找到合适的位置将www.example.com文件放在扩展文件夹中。因为它在CPanel的另一个目录中:imagick.so file in the extension folder. As it is in another directory with CPanel:
你可能想卸载所有的. rpm与"!重要的是,只有当你已经从源代码在您的Cpanel系统。"这是只有当你尝试源代码安装。
并从源代码Imagick安装。如果您无法通过启用共享从源代码创建ImageMagick。此外,您必须在进行源代码安装后从PECL中删除模块ImageMagick。在卸载并使用源代码版本的ImageMagick之前,请确保www.example.com仍在此目录中,同时模块仍与PECL一起安装:imagick.so is still in this directory when the module is still installed with PECL before you uninstall and use source version of ImageMagick:
要查找自己的模块文件夹,请使用:
记住,我使用的是php74版本和CPanel,因为这个问题只存在于CPanel的用户或在其他地方使用php74的用户。
要使共享启用正确安装ImageMagick源代码,请执行以下操作:
ktecyv1j8#
我不知道为什么,但我有两个imagick.ini文件在/etc/php.d/
我注解掉了一个
行,错误就消失了。