Я довольно новичок в php, но я пытался использовать php для запуска сценария оболочки.

Когда я использую php /var/www/html/indexes.php, это работает, но когда я загружаю веб-страницу, сценарий оболочки не выполняет всего, для чего он предназначен.

PHP-файл:

<?php
$result = shell_exec('sh /home/user/Desktop/script.sh');
echo $result; (just to make sure it fired)
?>

Сценарий оболочки:

#!/bin/bash
echo "Hello World"
sudo -u user nautilus 

Когда я запускаю php через консоль, он работает, но когда я загружаю веб-страницу вверх, это не так. Я запустил chmod +x как для php, так и для сценариев оболочки, но не повезло. Возвращает Hello World, но не запускает nautilus от имени пользователя. Я не знаю, но, может быть, это как-то связано с X-сервером? Любая помощь будет принята с благодарностью.

1 ответ1

0

Для использования системных команд на веб-страницах через php вы должны указать полный путь к команде, из которой она хранится.

Например

>/usr/bin/nautilius [parameter]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .