HTTPPOSTリクエストでシェルスクリプトをトリガーするには何が必要か疑問に思いました。自宅のwifiにいるので、電話をかけたい http://ip.of.Host/req?run ホストでスクリプトをトリガーします。ホストでWebサーバーを実行する必要があると思います。しかし、さらに何が必要ですか?これはそのような質問をするのに適切な場所ですか?ありがとう!
これは非常に幅広い質問です。 ApacheとPHPをサーバーにインストールすると、非常に単純なPHPスクリプトを使用して、スクリプトを実行できます。他に何も必要ありません。
Webルートディレクトリに、スクリプトとphpファイルを配置します。
script.sh:
#!/bin/bash
echo "Hello World"
run_script.php:
<?php
$output = Shell_exec('./script.sh');
echo $output;
?>
localhost/run_script.php
を使用してこれを実行します。
その後、任意のスクリプトを実行できます(Webルートに配置しないでください)。
これをHTTPPostリクエストでのみ実行する場合は、スクリプトを次のようにラップします。
if ($_SERVER['REQUEST_METHOD'] === 'POST') { ... }
そして、あなたは投稿パラメータをチェックすることができます
if ($_POST['parameter']) { ... }
注:これには多くの注意点がありますが、個別の質問として扱う方が適切です。とにかく、これでうまくいくはずです。