簡體   English   中英

macOS 和 Linux 上的 PHP CLI 是否使用內置的 Web 服務器的行為與 ZAEA063489CE3AA9B436 上的行為一樣?

[英]Does PHP CLI on macOS and Linux using the built-in Web server behave like it does on Windows for executing commands?

這適用於我的 Windows 10 系統,但我非常懷疑它是否也適用於 Linux 和 macOS。 我想確保它確實如此,因為能夠運行命令以從本地主機“Web 控制面板”打開各種應用程序非常有用。 我一直這樣做,但沒有用於測試的 Mac 或 Linux PC。

重現步驟:

  1. 確保您運行的是內置的 PHP 網絡服務器,而不是其他東西。

  2. 使用此內容創建一個名為test.php的文件並將其放入您的 WWW 根目錄:

     if (isset($_GET['run'])) shell_exec('winver'); echo '<p><a href="?run=1">test me</a></p>';

顯然將“winver”部分更改為macOS或Linux會理解的命令。 只要它在運行時顯示某種 GUI window。

  1. Go 到http://127.0.0.1/test.php並單擊超鏈接。
  2. 它現在應該運行指定的命令,從而在屏幕上顯示某種 GUI 框。

這是否發生在 macOS 和 Linux 上,或者這是一個“幸運的巧合”,恰好在 Windows 上起作用但不是故意的?

我剛剛對此進行了測試,並在 macOS 上成功啟動了Microsoft Word ,在Linux上成功啟動了 xcalc。

您必須小心,web 服務器正在運行的用戶可以訪問桌面(例如,在 Linux 中,您需要正確設置DISPLAY等),但如果您在 B841E409CEE4AC0 上使用php -S ,這不是問題要在其上顯示 GUI 應用程序的桌面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM