質問: PHPを使用したC ++ファイルのコンパイル 私はWindowsマシンでPHPを使用しています。私はまたDev C ++を使います。次のコマンドを使用して、CMD上の.cppファイルを完全にコンパイルできます。 ``` g++ hello.cpp -O3 -o hello.exe ``` 今私がやろうとしているのは、php system()関数を使って同じコマンドを実行することです。 システム( "g ++ c:\ wamp \ www \ grader \ hello.cpp -O3 -o C:\ wamp \ www \ grader \ hello.exe"); コンパイルされません。私は迷っています、私に何が欠けているか教えてください。 私もこの質問を見て、私が必要としているものを正確に示していますが、そこに私の場合に役立つ解決策を見つけることができませんでした: コンパイルするPHPスクリプトc ++ファイルと実行ファイルを入力ファイルで実行する
回答: PHPのexecコマンドを使用します。 ``` echo exec('g++ hello.cpp -O3 -o hello.exe'); ``` うまくいくはずです。 There's a whole family of different exec & system commands in PHP, see here: ``` http://www.php.net/manual/en/ref.exec.php ``` 出力を変数にする場合は、次のようにします。 ``` $variable = exec('g++ hello.cpp -O3 -o hello.exe'); ``` それでも問題が解決しない場合は、あなたのパスにg ++があることを確認してください。また、実行に十分な権限があればログインしてください。 また、PHPが本質的にあなたのWebサーバーによって実行されていることに気付くかもしれません(cmdプロンプトからPHPを実行している場合を除きます).WebサーバーのユーザーIDは、G ++が作成しようとしているフォルダ出力ファイル。 出力フォルダの 'Everybody'への書き込みアクセスを一時的に許可すると、その場合に該当するかどうかが確認されます。