Пользователь в группе www-данных не может найти команду

Я установил новое приложение и хочу запустить его с помощью php-скрипта (system и exec function), чтобы другие могли запускать его через свои браузеры. Я попытался запустить этот php-скрипт в моем терминале в месте с именем "php shell.php", и он работает, однако, когда я захожу на эту php-страницу, он говорит, что команда не найдена. Он также работает в терминале, когда я вошел в новую учетную запись (созданную после установки нового приложения) и гостевую учетную запись.

Я думаю, что это может быть вызвано настройками PATH, но почему новая учетная запись может работать правильно (это может доказать, что PATH является глобальной)?

2
задан 24 April 2012 в 02:32

1 ответ

Для PATH установлено только минимальное значение для всей системы, и оно может не включать то, где находится ваше приложение. Вам нужно настроить PATH для веб-сервера, чтобы он влиял на работу вашего приложения с помощью веб-скриптов.

Вам, вероятно, нужно, чтобы ваш PHP-скрипт просто добавил каталог, необходимый для PATH, перед вызовом 'system' или 'exec'. Это сохранит изменения, содержащиеся в этом сценарии.

Другой вариант, который может быть предпочтительным, - просто вызвать приложение по его полному пути, чтобы вам не приходилось искать его. Поэтому, если он находится в / usr / local / bin, просто выполните /usr/local/bin/myapp.

.
0
ответ дан 24 April 2012 в 02:32

Другие вопросы по тегам:

Похожие вопросы: