Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】Phar::mungServer()メソッドの使い方

mungServerメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

mungServerメソッドは、Pharアーカイブ内のPHPスクリプトがWebサーバー環境で動作する際に、特定の$_SERVER変数の値を修正するメソッドです。

PharアーカイブをWebアプリケーションとして利用する場合、Webサーバーからアクセスされると、$_SERVER変数群、例えば$_SERVER['PHP_SELF']$_SERVER['SCRIPT_NAME']などの値が、Pharアーカイブ自体のパスを指してしまうことがあります。しかし、Pharアーカイブ内部のPHPスクリプトは、自身の場所をアーカイブのルートディレクトリからの相対パスとして認識する必要があります。

このmungServerメソッドは、そのような状況において、$_SERVER変数の値をPharアーカイブ内部のパス構造に合わせて書き換える役割を担います。引数として配列を受け取り、その配列内に指定された$_SERVER変数のキー(例: ['PHP_SELF', 'REQUEST_URI'])に対応する値を修正します。これにより、Pharアーカイブ内部で動作するスクリプトが、あたかもアーカイブがWebサーバーのルートディレクトリであるかのように動作し、パス解決やリソースの参照が正しく行われるようになります。

特に、$_SERVER['PHP_SELF']$_SERVER['SCRIPT_NAME']$_SERVER['SCRIPT_FILENAME']$_SERVER['DOCUMENT_ROOT']$_SERVER['REQUEST_URI']といった変数が主な修正対象となります。この機能は、Pharアーカイブとして配布されるWebアプリケーションの互換性と信頼性を高める上で非常に重要です。

構文(syntax)

1<?php
2
3Phar::mungServer(['REQUEST_URI', 'PHP_SELF', 'SCRIPT_NAME']);
4
5?>

引数(parameters)

array $variables

  • array $variables: Phar::mungServer() が要求する環境変数名の連想配列

戻り値(return)

void

このメソッドは、Pharアーカイブの生成時にサルベージしたいサーバーメタデータのリストを設定するために使用されます。戻り値はありません。

関連コンテンツ