Запустите скрипт удара от php

Я хочу выполнить сценарий оболочки в php веб-странице для проверки некоторых процессов, работающих на моей системе (Ubuntu 12.04). Googleing я нашел о shell_exec() но мне не может удаться запустить скрипт при загрузке php.

Это - код php, который я использую.

$output = shell_exec('./dirlist.bash');
echo "<pre>$output</pre>";

и часть HTML я добираюсь

<pre></pre>

Также попробованный $output = shell_exec('sudo -u www-data ./dirlist.bash');

dirlist.bash делает ls-l (только для сценария тестирования и shell_exec)

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

drwxrwxrwx  4 meteo meteo 4096 mar 11 15:20 RAMS

Пользовательские www-данные были добавлены к sudoers файлу в случае, если это было необходимо

www-data ALL = (meteo) NOPASSWD: /home/meteo/www/RAMS/dirlist.bash

Заранее спасибо

4
задан 11 March 2014 в 18:39

1 ответ

Вам, вероятно, нужно к chdir к корректному каталогу прежде, чем назвать сценарий. Таким образом, можно гарантировать, в каком каталоге сценарий находится прежде, чем назвать команду оболочки.

$old_path = getcwd();
chdir('/my/path/');
$output = shell_exec('./script.sh var1 var2');
chdir($old_path);
echo "<pre>$output</pre>";

Код от:

9
ответ дан 17 November 2019 в 13:54

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

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