ubuntuで建てられたサーバ上にプログラムを配置し実行ファイルを生成し、
phpにアクセスした際のパラメータによって処理を実行させたいと思っています。
php上でexec、system、passthruなどの命令に"./a.out"などの文字列を渡して実行したいのですが、
sshターミナル上で直接"./a.out"と実行すると成功しますが、上記3命令を通して実行しても成功しません。
・このやり方で、どのようなエラーによって失敗しているのかの情報を取得する方法はありますか?
・考えられる原因と、その対策がありましたらお教えください。
追記
passthruの第二引数(return_var)の値はint(139)となっていました。
0でないのでエラー終了を示していることはわかるのですが、139という値は何を示しているのか、はっきりとした資料が見つからず……。
以下のサイトによると、「The operation is not permitted.」を表す終了ステータスだそうですが、
権限の問題は対応したはずです。
「www-data❌33:33:www-data:/var/www:/usr/sbin/nologin」
https://groups.google.com/forum/#!topic/phantomjs/M0_TM4_W3ZI
以下は関連すると思われる取得出来た限りの情報です。
whoami www-data cat /etc/group www-data:x:33: cat /etc/passwd www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin ls -l -rwxrwxr-x 1 ******* www-data 8619 Apr 26 20:55 a.out ←実行ファイル
これらの状況から、原因は推測できますでしょうか?よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/27 12:24