首页 > 解决方案 > PHP Imagick 类在从 Web 服务器调用而不是从命令行调用时工作

问题描述

在 PHP 中使用 Imagick 时遇到了一个非常令人沮丧的问题。

简单代码:

$image = '1551660111_7801.jpg';
$imageBG = new Imagick();
$imageBG->readImage($image);
$imageBG->resizeImage('1280', '720', 1, 1, true);
$imageBG->writeImage ('test.jpg');

当我通过 Chrome 运行它时,没有问题,生成新文件。

但是当我像这样通过终端时

php test.php

我收到这个错误

Fatal error: Class 'Imagick' not found in ../test.php on line 8

标签: phpimagick

解决方案


在 CLI 和 Web 服务器上检查您的 PHP 版本。

在cli上:

php -v

在网络服务器上打开 phpinfo(); 某些 *.php 文件中的命令。可能您已将 ImageMagick 安装为 PHP 5.6 扩展并由 Web 服务器使用,但您的 CLI php 版本是 PHP7


推荐阅读