@alligator3000

Как запустить команду терминала linux через php в браузере?

У меня есть скрипт на PHP, который вызывает в терминале скрипт на Python:
<?php
$output = shell_exec("python3 drel_on.py");
echo "<pre>$output</pre>";
?>

Если его вызывать в терминале он работает, но если запустить его в браузере команда не выполняется. Как решить данную проблему?
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ответы на вопрос 2
dyuriev
@dyuriev
A posteriori
Проверьте, разрешен ли shell_exec
$output = shell_exec("echo test");
если вернет "test", значит доступ к shell_exec у вас есть

Если разрешен, то
$output = shell_exec("cd /path/to/dir/ && python3 drel_on.py");

Поменяйте /path/to/dir/ на полный путь до каталога с файлом на сервере

Подсказка: текущую директорию можно задать относительно docroot: $_SERVER['DOCUMENT_ROOT'].'/path/to/dir/'
Ответ написан
Adamos
@Adamos
Как вариант - настроить веб-сервер так, чтобы .php обрабатывал Пых, а .py - Питон.
Если этот скрипт действительно ничего больше не делает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы