ホームページ  >  記事  >  バックエンド開発  >  制御されたイントラネット環境でユーザー インターフェイスを備えた PHP を使用して外部プログラムを実行する方法

制御されたイントラネット環境でユーザー インターフェイスを備えた PHP を使用して外部プログラムを実行する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-21 08:20:03950ブラウズ

How to Execute External Programs with PHP with User Interface in a Controlled Intranet Environment?

PHP を使用した外部プログラムの開始: システムと実行に関する問題への対処

制御されたイントラネット環境では、PHP アプリケーションから外部プログラムを実行するのは困難な場合があります。 system や exec などのコマンドはプロセスを起動できますが、表示されるユーザー インターフェイスでプログラムを処理するのは困難に直面します。

問題:

ユーザーは、次のようなプログラムを起動できます。サイレントに動作します (例: 「echo hello > hello.txt」)。ただし、グラフィカル ユーザー インターフェイス (「エクスプローラー」など) を使用してプログラムを起動しようとしても、何も起こりません。

解決策:

この問題を解決するには、次の手順を実行します。 PHP スクリプトを実行している Apache サービスがデスクトップと対話できるようにするために必要です。

  1. Windows XP マシンでサービス コントロール パネル (services.msc) を開きます。
  2. Apache を見つけます。サービス (例: "wampapache") を選択し、そのプロパティを開きます。
  3. [ログオン] タブに移動し、[サービスがデスクトップと対話できるようにする] を選択します。
  4. Apache サービスを停止して再起動します。 .

コード スニペット:

これらの変更を加えた後、pclose と system:

非ブロック:

<code class="php">pclose(popen("start /B notepad.exe", "r"));</code>

ブロック:

<code class="php">system('start notepad.exe');</code>

注:

これソリューションは Windows XP でテストされており、他の Windows バージョンでは動作しない可能性があります。

以上が制御されたイントラネット環境でユーザー インターフェイスを備えた PHP を使用して外部プログラムを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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