• ベストアンサー

phpからC言語を実行する方法

こんにちは phpからCファイルをコンパイルして作ったoutファイルを実行する方法はないのでしょうか? system("test.out"); とやってみたんですが、反応などがありません。 どなたかご存知の方いらっしゃいますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.4

#1,#2です。 >ローカル環境でphpからtest.outを実行すると正常に動作しましたが、 そもそもサーバ上ので動作確認が取れていないと言うことですね。 >エラーコード126 test.outをアップロード後に、実行可能ビットをオンにして下さい。具体的なうやり方はFTPに使っているソフトのヘルプなどを参照。 これが出来ても、環境の違いで動かない可能性もあります。 ローカルのテスト環境と、動かすサーバーのOSが同じであればおそらく大丈夫ですが。 レンタルサーバーにssh等でログイン出来ない環境で自作プログラムを動かすのは大変だと思いますよ。ローカルに全く同じ環境を作るくらいのつもりの方が良いでしょうね。

daikus
質問者

お礼

回答ありがとうございます。 >test.outをアップロード後に、実行可能ビットをオンにして下さい。 やってみましたが、動きませんでした。 実行権限がないみたいで無理そうですね。 もう少し調べてみて、だめそうだったら違う方法を探してみようと思います。 ありがとうございました。

その他の回答 (3)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

Cの実行ファイルならレンタルサーバでコンパイルしないとだめだと思いますがtest.outはレンタルサーバでコンパイルしたものでしょうか ローカル環境がサーバと同じOSやCPUなら動く可能性はありますがやはり動作させる環境でコンパイルするのが無難でしょう

daikus
質問者

補足

すみません。調べたところエラーコードが返っていたようです。 エラーコード126 commandが見つかったが実行可能なユーティリティではない場合に返ってくるエラーコードらしいのですが、どうにか実行可能にする方法はないのでしょうか?

  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.2

#1です。 エラーすら出ないのですか?ログは確認してますか? HTTPサーバで動くPHPですか?コマンドラインで動くPHPですか? コマンドラインでtest.outは動くのですか? どういう反応を期待しているのですか?

daikus
質問者

補足

エラーは出ていません。 HTTPサーバで動くPHPです。 test.outはファイルを生成するプログラムで、 ローカル環境でphpからtest.outを実行すると正常に動作しましたが、 レンタルサーバーでphpからtest.outを実行するとうまくいきません。 ちなみにsystemのコマンド自体はレンタルサーバーでも動くことは確認しました。

  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.1

フルパスで指定するとか、カレントディレクトリにあるなら ./test.out にするとか。

daikus
質問者

補足

すみません。フルパス指定や相対パスでの指定もやってみましたが同じでした。

関連するQ&A

専門家に質問してみよう