[PHP-users 6629] Re: cannot execute binary file とエラーが出て原因がわかりません。

makino php-users@php.gr.jp
Wed, 3 Apr 2002 11:46:46 +0900


牧野です。
>
> > その時に
> > system("/bin/sh /実行ファイルのパス 2>&1")
> > として、stderr をstdoutにリダイレクトしてやればシェルプロンプトで実行した時と同じようにエラー表示をブラウザ上で見ることができる
と教
> > わったのでそうしたのですが。
>
> 該当のCプログラムは単体で実行可能なのですか?
> そのあたりのチェックをきちんとされていますか?
>
> # 少なくともMLに投稿された文面からでは
> # 分かりませんので、Cバイナリ単体で動作出来るかを
> # 検証した結果を教えてくださいな。
>
> 結局、Cのバイナリが正常に動作しない状態であれば
> 何をやってもダメだと思いますので。

申し訳ありません。Cバイナリ単体の動作結果は書いたつもりでいました。
system関数に渡しているのと同じパスで実行しても、ディレクトリに移動して実行しても正常に動作します。
Cプログラムの内容は
PHP上で引数を指定し、データベースのupdateをするというものです。
PHPだけでも可能なのですが、update用のデータを作成する処理で重くなりそうだったのでCプログラムにしました。
PHP上からの引数はPOSTで取得したものですが、値が入っているかどうかは確認済みです。