Мне было интересно, что нужно для запуска сценария оболочки с HTTP-запросом. Находясь в моем домашнем Wi-Fi, я хочу позвонить http://ip.of.host/req?run и запустить скрипт на моем хосте. Я думаю, что я должен запустить веб-сервер на хосте. Но что еще нужно для этого? Это правильное место, чтобы задать такой вопрос? Спасибо!

1 ответ1

2

Это очень широкий вопрос. Я бы установил 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']) { ... }

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

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