PHP 8.4.0 RC4 available for testing

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_NAME そして SCRIPT_FILENAME です。

このメソッド自身は何も行いません。これが効力を発揮するのは Phar::webPhar() と組み合わせた場合で PHP ファイルがリクエストされた場合のみです。 PATH_INFOPATH_TRANSLATED は常に変更されていることに注意しましょう。

変更前の元の値は、SERVER 配列の中で PHAR_ をつけた名前で保持されます。たとえば SCRIPT_NAME の場合は 変更前の値は PHAR_SCRIPT_NAME となります。

パラメータ

variables

REQUEST_URIPHP_SELFSCRIPT_NAME および SCRIPT_FILENAME を含む、文字列の配列。その他の値を指定した場合は例外が発生します。また Phar::mungServer() は大文字小文字を区別します。

戻り値

値を返しません。

エラー / 例外

渡したデータに何らかの問題があった場合は UnexpectedValueException をスローします。

例1 Phar::mungServer() の例

<?php
// スタブのサンプル
Phar::mungServer(array('REQUEST_URI'));
Phar::webPhar();
__HALT_COMPILER();
?>

参考

  • Phar::webPhar() - ブラウザからのリクエストを、phar アーカイブ内部のファイルに転送する
  • Phar::setStub() - Phar アーカイブの PHP ローダ (あるいは起動スタブ) を設定する

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top