0

現在、PHP を使用して V-Server (Debian 6.0.6 を実行) 用のスクリーン マネージャを構築しようとしています。

私のスクリプトはすでに実行中の画面を表示していますが、新しい画面の実行に失敗しました:

webstat.php:

exec('sudo -u root screen -ls',$result);
print_r($result);

sudoers に追加 (これが安全でないことはわかっていますが、テスト段階では簡単です):

www-data ALL=(ALL) NOPASSWD: ALL

新しい画面でPHPファイルを実行しようとしたコードは次のとおりです。

exec('sudo -u root screen -S screenId php /var/www/script.php parameter1=1',$result);
print_r($result);

これは「ターミナルに接続する必要があります。」と出力するだけですが、SSHを使用すると、このコマンドは完全に機能します。

次に、SSH コマンドについて読み、次のコマンドを試しました。

sudo -u root ssh -t root@box screen -S screenId php /var/www/script.php parameter1=1

そのコマンドは PuTTY を使用して機能しましたが、PHP でこのコマンドを使用すると、結果が得られず、新しい画面セッションが開始されます。

exec('sudo -u root ssh -t root@box screen -S screenId php /var/www/script.php parameter1=1',$result);
print_r($result);

V-Server で無効になっている機能はありません。PHP で呼び出す bash スクリプトを書きたくありません。PHP でコマンドを直接実行したいのです。

誰かがこの問題を解決する方法を知っているといいですね!

4

0 に答える 0