У меня есть сценарий оболочки с именем brew.sh
следующим образом:Запуск сценария оболочки с веб-сервера
#!/bin/bash
brew doctor > test.txt
, который работает хорошо, когда я запустить его из командной строки. Он выводит, как ожидалось, результат работы врача-пивовара в файл test.txt. Однако, когда я вызываю его с веб-страницы php, как показано ниже, он создает файл test.txt
, но файл пуст.
<?php
$output = shell_exec("./brew.sh");
echo $output;
?>
Я подозревал, что это была проблема с разрешениями/собственность, поэтому я использовал CHOWN сменить владельца от username:staff
к _www:_www
на родительский каталог, где он будет затем создать файл test.txt
, но не записывать выход на него. Я даже пытался изменить разрешения на 777
временно на test.txt
, и даже это не сработало. В конечном счете, я хотел бы посмотреть результаты работы врача-пивоваренного врача и опубликовать обновление на веб-странице моей локальной машины разработки. Неужели это не должно быть так сложно?
делает '$ PATH' для пользователя' _www', содержит путь к 'brew', и пользователь получил разрешения, необходимые для запуска bin? –
Я добавил пиво к пути apache, следуя информации здесь [переменная среды для apache] (http://stackoverflow.com/questions/6833939/path-environment-variable-for-apache2-on-mac) По-прежнему нет радости , – Hoppo