1

stackoverflow に関する多くの投稿を見てきましたが、どれも役に立ちませんでした。

私は (am) .NET Windows Forms アプリケーションを実行しようとしていました (何も含まれていませんがforms/GUI/dialogs/so、アプリの性質上、Windows Forms でなければなりません)。shell_exec()exec()、などを試しpassthru()ましたが、すべて失敗しました (無限に時間がかかり、PHP スクリプトが終了しません)。

次に、単純な C++ (アンマネージ) コンソール アプリケーションを実行してみました。動作し、正しい出力とリターン コードが返されました。

次に、この C++ EXE を呼び出して、さらに Windows アプリケーションを呼び出すことができるのではないかと考えました (つまり、C++ を使用してSYSTEM("path_to_exe.exe");)。コンパイルすると問題なく動作しましたが、やはり、

PHP がこのコンソールを (.NET EXE を実行する新しいコードで) 呼び出すと、PHP は再び無限の時間を要し、停止することはありません。なんで?

PHP からサーバー上で .NET EXE を正常に実行する方法はありますか?

どうもありがとう!

4

1 に答える 1

1

「PHPからサーバー上で.NETEXEを正常に実行する方法はありますか?」:EXEはすでに実行されています!

だから問題はあなたの.NETEXEにあります、私はそれがどんな種類のEXEであるかわかりませんが、AutoItスクリプトを使ってそれを実行し、X秒後にプロセスを閉じることができます、ここにコードのスニペットがあります(忘れないでくださいコンパイルしてください):

Run("C:\Program Files (x86)\K-Lite Codec Pack\Media Player Classic\mpc-hc.exe"); // You may use a relative path !
Sleep(5000); // Wait for 5 seconds
ProcessClose("mpc-hc.exe"); // Close the process
于 2012-07-10T09:34:29.343 に答える