PHPを使用してリモートコンピュータでUbuntuからシェルコマンドを実行します。

PHPを使用してリモートコンピュータでUbuntuからシェルコマンドを実行します。

Webページで、リモートコンピュータでPythonスクリプトを実行するボタンが欲しい。 PHPでこれを行う方法はありますか?具体的には、リモートシステムで次のシェルコマンドを実行したいと思います。

screen -d -m ./script.py

スクリプトを実行するためにrootアクセスが必要ないので、これはマイナーなものではないかもしれないと思いました。

ベストアンサー1

これがいくつかのレベルで安全でないアプローチであることを指摘し始めます。と言った:

script.pyを実行するためにルートである必要がある場合、ウェブサイトのユーザーはsudoersを設定する必要があります。まず、ウェブサイトのユーザーが誰であるかを調べる必要があります。

次に、ユーザーがパスワードなしでscript.pyを実行できるようにsudo権限を設定します。例:

apache ALL=NOPASSWD: /full/path/to/your/script.py

次に、実行可能ビットをscript.pyに追加します。

chmod +x /full/path/to/your/script.py

おそらく、pyスクリプトのヘッダーを次のように変更する必要があります。

#! /usr/bin/python

その後、PHPでshell_execを使用してスクリプトを実行できます。たとえば、次のようになります。

$output = shell_exec('/full/path/to/your/script.py');

おすすめ記事