无法从命令行运行PHP Imagick?

问题描述 投票:2回答:1

我意识到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事情。

php command-line imagick
1个回答
0
投票

显然,这是一个地方问题。

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

其他有类似问题的人我建议重新安装Imagick(安装很麻烦 - 建议使用这些引用在Windows 10机器上安装:

此外,我还没有尝试过这个,但从它的外观来看,似乎是一个更好的方法,与PHP的想象集成:ImageMagickPHP(Imagick PHP类利用命令行exec而不是PHP版本)。

© www.soinside.com 2019 - 2024. All rights reserved.