2024 日本 PHP 研討會

Phar::mungServer

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::mungServer定義最多 4 個應修改以供執行的 $_SERVER 變數的列表

說明

final public static Phar::mungServer(陣列 $variables): void

Phar::mungServer() 應該只在 phar 封存的 stub 中呼叫。

定義一個最多包含 4 個 $_SERVER 變數的清單,這些變數應在執行時修改。可以修改以移除 phar 執行痕跡的變數有 REQUEST_URIPHP_SELFSCRIPT_NAMESCRIPT_FILENAME

此方法本身不做任何事情。僅當與 Phar::webPhar() 結合使用時才會生效,並且僅當請求的檔案是要解析的 PHP 檔案時才會生效。請注意,PATH_INFOPATH_TRANSLATED 變數始終會被修改。

被修改的變數的原始值會儲存在 SERVER 陣列中,並在前面加上 PHAR_,例如 SCRIPT_NAME 會儲存為 PHAR_SCRIPT_NAME

參數

variables

一個包含字串 REQUEST_URIPHP_SELFSCRIPT_NAMESCRIPT_FILENAME 的陣列。其他值會觸發例外,而且 Phar::mungServer() 區分大小寫。

回傳值

無回傳值。

錯誤/例外

如果傳入的資料有任何問題,則會擲出 UnexpectedValueException

範例

範例 #1 Phar::mungServer() 範例

<?php
// 範例程式碼
Phar::mungServer(array('REQUEST_URI'));
Phar::webPhar();
__HALT_COMPILER();
?>

參見

  • Phar::webPhar() - 將網頁瀏覽器的請求路由至 phar 封存內的檔案
  • Phar::setStub() - 用於設定 Phar 封存的 PHP 載入器或啟動程式碼

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top