PHP Conference Japan 2024

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(array $variables): void

Phar::mungServer() 只能在 phar 归档文件的存根中调用。

定义一个最多包含 4 个 $_SERVER 变量的列表,这些变量应该被修改以供执行。可以修改以删除 phar 执行痕迹的变量是 REQUEST_URIPHP_SELFSCRIPT_NAMESCRIPT_FILENAME

它本身什么也不做。只有当与 Phar::webPhar() 结合使用时,它才会生效,并且只有当请求的文件是要解析的 PHP 文件时才会生效。请注意,PATH_INFOPATH_TRANSLATED 变量始终会被修改。

被修改的变量的原始值存储在 SERVER 数组中,并在前面加上 PHAR_,例如 SCRIPT_NAME 将保存为 PHAR_SCRIPT_NAME

参数

变量

任何字符串 REQUEST_URIPHP_SELFSCRIPT_NAMESCRIPT_FILENAME 的数组。其他值会触发异常,并且 Phar::mungServer() 区分大小写。

返回值

无返回值。

错误/异常

如果传入的数据中存在任何问题,则抛出 UnexpectedValueException

示例

示例 #1 一个 Phar::mungServer() 示例

<?php
// 示例存根
Phar::mungServer(array('REQUEST_URI'));
Phar::webPhar();
__HALT_COMPILER();
?>

参见

  • Phar::webPhar() - 将来自 Web 浏览器的请求路由到 phar 归档文件中的内部文件
  • Phar::setStub() - 用于设置 Phar 归档文件的 PHP 加载器或引导存根

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top