在受控的 Intranet 環境中,從 PHP 應用程式執行外部程式可能是一個挑戰。雖然 system 和 exec 等命令可以啟動進程,但它們在使用可見的使用者介面處理程序時面臨困難。
問題:
使用者能夠啟動以下程式:靜默操作(例如,「echo hello > hello.txt」)。但是,嘗試使用圖形使用者介面(例如“資源管理器”)啟動程式不會導致任何操作。
解決方案:
要解決此問題,請執行以下操作:允許執行PHP 腳本的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中文網其他相關文章!