无法从命令行运行PHP Imagick?

时间:2019-02-16 21:19:29

标签: php command-line imagick

我意识到Imagick具有自己的命令行可执行文件,但是为什么每当我尝试运行用PHP编写的Imagick命令时,它都会破坏脚本并退出而不发出警告?

简单点:

<?php
$imagepath = realpath('1.gif');
var_dump('111');
$image = new Imagick($imagepath);
var_dump('222');
var_dump($image);

在我的命令行界面上运行php -f imagick.php只是简单地输出string(3) "111",然后在碰到任何Imagick函数后立即退出。

Imagick已正确安装在我的计算机上,如果执行php -m,则会将Imagick显示为已安装的模块。

除了使用exec()之外,是否还有其他方法可以使其在命令行脚本中工作?

我有点担心它不能用于cron作业,但是我只是做了一个快速测试,它似乎在其中起作用(最少使用VPS)。

正在尝试从Windows x64 WAMP服务器PHP v7.1.16开始。

注意:澄清一下,这只是一个命令行问题。 Imagick的安装正确,语法没有问题,我已经在浏览器中使用了几个月,没有任何问题。

即使命令行尝试也是如此。php -d display_errors imagick.php同样由于IM的影响而死,没有通知php -n -l -d display_errors -d display_startup_errors imagick.php会带来“无语法错误”。这很奇怪,没有任何东西可以简单地杀死脚本(尽管它确实尝试加载一秒钟,无论它在哪里,无论它在哪里,它实际上都会脱离脚本)。然后再说一遍,因为在浏览器中运行它没有问题一遍又一遍,所以我不认为有任何错误(尤其是对我上面的一个Imagick初始化衬里进行采样)..这只是我不了解的CLI内容。

1 个答案:

答案 0 :(得分:0)

这显然是本地问题。

我最近重新安装了Windows,随后又重新安装了Imagick和PHP。

遇到其他类似问题的人,我建议重新安装Imagick(安装起来很麻烦-建议使用这些参考在Windows 10计算机上进行安装:

我还没有亲自尝试过,但是从外观上看,它似乎是imagick与PHP集成的更好方法:ImageMagickPHP(Imagick PHP类,它使用命令行exec而不是PHP版本)。

相关问题