首頁  >  文章  >  後端開發  >  如何在受控的內部網路環境中透過使用者介面使用 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 啟動外部程式:解決 System 和 Exec 的問題

在受控的 Intranet 環境中,從 PHP 應用程式執行外部程式可能是一個挑戰。雖然 system 和 exec 等命令可以啟動進程,但它們在使用可見的使用者介面處理程序時面臨困難。

問題:

使用者能夠啟動以下程式:靜默操作(例如,「echo hello > hello.txt」)。但是,嘗試使用圖形使用者介面(例如“資源管理器”)啟動程式不會導致任何操作。

解決方案:

要解決此問題,請執行以下操作:允許執行PHP 腳本的Apache 服務與桌面互動所必需的:

  1. 在Windows XP 電腦上開啟服務控制面板(services.msc)。
  2. 找到 Apache服務(例如「wampapache」)並開啟其屬性。
  3. 前往「登入」標籤並選擇「允許服務與桌面互動」。
  4. 停止並重新啟動Apache 服務.

程式碼片段:

進行這些變更後,您現在可以使用pclose 和system 從PHP 啟動GUI 程式:

非阻塞:

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

阻塞:

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

阻塞:

注意:

這個解決方案在Windows XP 上進行了測試,可能不適用於其他Windows 版本。

以上是如何在受控的內部網路環境中透過使用者介面使用 PHP 執行外部程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn