Я понимаю, что у Imagick есть свои собственные исполняемые файлы командной строки, но почему всякий раз, когда я пытаюсь запустить команду Imagick, написанную на PHP, она ломает мой скрипт и выходит без предупреждения?
Возьмем что-то простое:
<?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, которую я не понимаю.