「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 出力干渉を発生させずに制御された環境で PHP から GUI アプリケーションを実行する方法

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

2024 年 11 月 18 日に公開
ブラウズ:681

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 つはデスクトップ操作用です。この回避策は、特定の使用例に特有のものではありますが、将来かなりのフラストレーションを軽減できます。

リリースステートメント この記事は次の場所に転載されています: 1729470076 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3