質問: shell_exec("/var/www/scripts/foreverlist.sh 2>&1"); echo "<pre>$resp_script</pre>"; そして、webブラウザを介して実行すると(上記のphpコード)では機能しません!!このforeverエラーメッセージが表示されます(phpではなくnodejs) )::/usr/lib/node_modules/forever/lib/forever.js:674 procs.foreach(function (proc) { ^ typeerror: object error: eacces, permission denied '/root/.forever/sock' has no method 'foreach' ... ... #(stack trace follows) / var/www /フォルダーからwww-dataユーザー(スクリプトにwhoamiを追加)としてこれらすべてを実行しているため、なぜ/ rootフォルダーを処理するのか本当にわかりません。それが事実であったことを確認してください、そしてそれはそうです)。私は何かが恋しいですか?それは永遠のバグですか?どんな助けでも大歓迎です。[〜#〜] update [〜#〜]:bashスクリプトにecho $homeを追加しようとしましたが、何も返されません。 php自体は、www-dataユーザーのホームパス環境変数を消去しますか?
回答: さて、私はついに解決策を見つけました。実際、apacheは$home環境変数の設定を解除しました(/etc/apache2/envvarファイルの4行目を参照:unset home)行うべき唯一のことは、追加することでした:export home=/var/www bashスクリプトのforever list行の前。そして、魅力のように機能します。