私の場合は、ssh でシェルスクリプトを実行する PHP shell_execに似ていますが、同じではありません。
状況:2台のサーバー間でsshキーを交換し、www-data
ユーザーに切り替えて、パスワードなしでSSHを介して2台目のサーバーに接続しました。
テスト 1: ssh user@10.8.0.6 Documents/run.sh リストをシェルで実行すると正常に動作する
テスト 2: PHP ファイルに単純な PHP Exec を配置すると、正常に動作します。配列を返し、Retval は 0 です
テスト 3: exec を「大きな」PHP スクリプトに入れて呼び出すと、Retval 255 (致命的なエラー ?!?!?) が発生します。
そのため、なぜ機能しないのか、現時点ではよくわかりません。retval 255 の詳細を調べてみましたが、うまくいきませんでした。
違いは、PHP5 と PHP5 cli のどこかにあるはずです。しかし、OpenVPN を使用する前は、通常の Apache 呼び出しでも問題なく動作していました。