ホームページ  >  記事  >  バックエンド開発  >  出力干渉を発生させずに制御された環境で PHP から GUI アプリケーションを実行する方法

出力干渉を発生させずに制御された環境で PHP から GUI アプリケーションを実行する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-21 08:22:02389ブラウズ

How to Run GUI Applications from PHP in a Controlled Environment Without Output Interference?

制御された環境で PHP から GUI アプリケーションを実行する方法

出力が目に見える制御された環境では、PHP スクリプトから外部プロセスを実行するのが難しい場合がありますGUI プログラムからの使用は許可されていません。 system と exec を使用してサイレント プロセスを開始する試みは成功しましたが、GUI インターフェイスでプログラムを実行するときに問題が発生します。

この問題に対処するには、Apache の [サービスがデスクトップと対話できるようにする] オプションを有効にすることが重要です。サービス。 [サービス コントロール] に移動し (例: [ファイル名を指定して実行] の「services.msc」)、Apache サービスを見つけてそのプロパティを開き、[ログオン アカウント] タブでこのオプションをオンにします。

この設定が構成されると、PHP はスクリプトは GUI プロセスを効果的に生成できます。アプリケーションの終了を待たないようにするには、pclose(popen("start /B notepad.exe", "r")) を使用します。あるいは、実行をブロックするには、system('start notepad.exe') を使用します。この方法は Windows XP で検証されており、他の Windows バージョンでは調整が必要になる場合があることに注意してください。

追加の考慮事項:

Apache サービスが次のバージョンで実行されている場合ドメイン ユーザーの資格情報では、[サービスによるデスクトップとの対話を許可する] オプションが利用できない場合があります。このような場合、サービスを 2 つのコンポーネントに分割することをお勧めします。1 つはユーザー権限用、もう 1 つはデスクトップ操作用です。この回避策は、特定の使用例に特有のものではありますが、将来的にかなりのフラストレーションを軽減できます。

以上が出力干渉を発生させずに制御された環境で PHP から GUI アプリケーションを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。