PHP shell_exec $ переменная $ PATH не соответствует терминалу переменная $ PATH

У меня возникают проблемы, когда я пытаюсь использовать некоторые системные пакеты, такие как ImageMagick, в своем приложении через shell_exec.

Если я сам определю путь, пакеты будут работать нормально. ImageMagick работает, но, поскольку он использует пакет Ghostscript, в этот момент он работает неправильно, потому что моя переменная пути php пропускает путь. Я могу получить версию ImageMagick и т. Д.

Моя переменная пути PHP содержит (вывод через shell_exec):

/usr/bin:/bin:/usr/sbin:/sbin

Мои пакеты используют / usr / local / bin, поэтому я хотел бы добавить этот путь в переменную php, которая используется shell_exec.

Вывод, когда я эхо $ PATH через терминал напрямую:

/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Затем, когда я запускаю свой php-скрипт из терминала ‘$ php script.php’, работа выполняется нормально. Когда я запускаю скрипт через shell_exec через мой браузер, он не работает. Поскольку я думаю, что это имеет отношение к PATH env, который не соответствует в то время, когда GhostScript должен выполнить свою задачу.

Я ищу, чтобы включить / usr / local / bin или синхронизировать весь путь. Надеюсь получить совет, как это сделать. Спасибо

Обновить

PHP скрипт:

var_dump(shell_exec('/usr/local/bin/gs -dNOPAUSE -sDEVICE=jpeg -r144 -sOutputFile=/www/sites/domain/public_html/test.jpg /www/sites/domain/public_html/test.pdf'));

журнал ошибок

GPL Ghostscript 9.18: **** Could not open the file '/www/sites/domain/public_html/test.jpg'.
GPL Ghostscript 9.18: Unrecoverable error, exit code 1

вывод в браузере

GPL Ghostscript 9.18 (2015-10-05)
Copyright (C) 2015 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 18.
Page 1
Error: /invalidfileaccess in --showpage--
Operand stack:
1   true
Execution stack:
%interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1967   1   3   %oparray_pop   196'... (length=1044)

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector