Не удается запустить PHP Imagick из командной строки? - PullRequest
0 голосов
/ 17 февраля 2019

Я понимаю, что у 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, которую я не понимаю.

1 Ответ

0 голосов
/ 12 апреля 2019

По-видимому, это была локальная проблема.

Я недавно переустановил Windows, а затем переустановил Imagick и PHP.

Всем, у кого есть подобные проблемы, я рекомендую переустановить Imagick (это большая проблема для установки- рекомендуем использовать эти ссылки для установки на компьютер с Windows 10:

Также мне еще предстоит попробовать это лично, но, судя по всему, кажется, лучший способ дляИнтеграция imagick с PHP: ImageMagickPHP (класс PHP Imagick, использующий exec командной строки в отличие от версии PHP).

...