Мне было интересно, что нужно для запуска сценария оболочки с HTTP-запросом. Находясь в моем домашнем Wi-Fi, я хочу позвонить http://ip.of.host/req?run и запустить скрипт на моем хосте. Я думаю, что я должен запустить веб-сервер на хосте. Но что еще нужно для этого? Это правильное место, чтобы задать такой вопрос? Спасибо!
1 ответ
Это очень широкий вопрос. Я бы установил Apache и PHP на сервер, а затем вы можете использовать очень простой PHP-скрипт для его запуска. Больше ничего не требуется.
В корневом веб-каталоге разместите скрипт и файл php:
script.sh:
#!/bin/bash
echo "Hello World"
run_script.php:
<?php
$output = shell_exec('./script.sh');
echo $output;
?>
Запустите это, используя localhost/run_script.php
.
Затем вы можете запустить любой скрипт, который вам нужен (вы не должны помещать его в свой веб-корень!)
Если вы хотите выполнить это только по запросу HTTP Post, то оберните скрипт в
if ($_SERVER['REQUEST_METHOD'] === 'POST') { ... }
И вы можете проверить параметры сообщения с
if ($_POST['parameter']) { ... }
Примечание: есть много предостережений с этим, но их лучше рассматривать как отдельные вопросы. В любом случае, это должно помочь вам.