1

PHPを使用して、rootのcrontabを一覧表示できるようにしたいと思います。コマンドラインからApacheユーザーとして次のコマンドを実行し、目的の結果を得ることができます。

sudo crontab -l

ただし、私のPHPには、機能せず空のセットを返す次のコマンドがあります。

exec('sudo crontab -l', $out);
print_r($out);

それは環境ですか?または許可?

私も試しましshell_exec() system()passthru()

また、SELinuxを無効にし、Apacheをsudoersファイルに追加したため、パスワードの入力を求められる必要がないことに注意してください。

4

1 に答える 1

1

解決済み:エラーレポートをに設定しましたが、コマンドの出力を次のようにリダイレクトする必要があります。

exec('sudo crontab -l 2>&1', $out);
var_dump($out);

これを設定した後、次のエラーが見つかりました。

sudo: sorry, you must have a tty to run sudo

問題の調査に続いて、解決策はsudoersファイルを編集してコメントアウトすることです:#Defaultrequiretty。

http://www.zimbra.com/forums/installation/10553-solved-sudo-sorry-you-must-have-tty-run-sudo.html

この問題についてさらに詳しく説明したところ、PHPの問題ではなくなり、UNIXシステムの問題が増えたことをお詫びします。

于 2012-06-20T20:42:07.380 に答える