CXXIV. PHP オプションと情報(info)

導入

以下の関数によりPHP自体に関する多くの情報(例えば、実行時の設定、 ロードされている拡張モジュール、バージョン等)を 得ることができます。実行しているPHPのオプションを設定する関数もあ ります。おそらく最も有名な関数であるphpinfo() もここにあります。

要件

外部ライブラリを必要としません。

インストール手順

PHP コアに含まれるため、 追加のインストール無しで使用できます。

実行時設定

php.ini の設定により動作が変化します。

表 1. PHP オプション/情報設定オプション

名前デフォルト変更の可否変更の履歴
assert.active"1"PHP_INI_ALL 
assert.bail"0"PHP_INI_ALL 
assert.warning"1"PHP_INI_ALL 
assert.callbackNULLPHP_INI_ALL 
assert.quiet_eval"0"PHP_INI_ALL 
enable_dl"1"PHP_INI_SYSTEM 
max_execution_time"30"PHP_INI_ALL 
max_input_time"-1"PHP_INI_PERDIRPHP 4.3.0 以降で有効
max_input_nesting_level"64"PHP_INI_SYSTEM|PHP_INI_PERDIRPHP 5.2.2 および 4.4.8 以降で有効。 PHP 4.4.x でのデフォルト値は 500 です。
magic_quotes_gpc"1"PHP_INI_PERDIRPHP <= 4.2.3 では PHP_INI_ALL
magic_quotes_runtime"0"PHP_INI_ALL 
PHP_INI_* 定数の詳細および定義については 付録I を参照してください。

以下に設定ディレクティブに関する 簡単な説明を示します。

assert.active boolean

assert() の評価を有効にします。

assert.bail boolean

assertion が失敗した時にスクリプトの実行を終了します。

assert.warning boolean

assertion が失敗する度に PHP 警告を発行します。

assert.callback string

assertion が失敗した時にコールされるユーザ関数

assert.quiet_eval boolean

assertion 式の評価時に error_reporting() の現在の 設定を使用します。有効な場合、評価時にエラーは表示されません。 (暗黙のうちに error_reporting(0) とします) 無効な場合、エラーは、error_reporting() の設定に 基づき設定されます。

enable_dl boolean

このディレクティブは、Apacheモジュール版のPHPを使用した場合にのみ 有用です。PHPの動的ロード拡張機能をdl()で 仮想サーバー毎またはディレクトリ毎にオンまたはオフに変更することが できます。

動的ロード機能をオフにするのは主としてセキュリティ上の理由によります。 動的ロード機能により、 open_basedir の拘束を全て 無視することが可能になります。 デフォルトでは、セーフモードを 使用している場合以外、動的ロードが可能です。セーフモードにおいては、 dl() を使用することが常に不可能になります。

max_execution_time integer

スクリプトがパーサにより強制終了されるまでに許容される最大の 時間を秒単位で指定します。この命令は、いい加減に書かれた スクリプトがサーバーの負荷を上げることを防止するのに役立ちます。 デフォルトでは、30 に設定されています。

最大実行時間は、システムコール、ストリーム操作等の 影響を受けません。より詳細な情報については、 set_time_limit() 関数の説明を参照ください。

セーフモードで実行している場合にはこの設定を ini_set() で変更することはできません。次善策としては セーフモード をオフにするか あるいは php.ini 上で制限時間を変えるしかありません。

Web サーバによっては、別の設定項目があるかもしれません。たとえば、 Apache には Timeout ディレクティブ、IIS には CGI タイムアウト関数があり、どちらもデフォルトで 300 秒に設定されています。 これらの意味については、Web サーバのドキュメントを参照ください。

max_input_time integer

スクリプトが POST、GET そしてファイルアップロードなどの入力を パースする最大の時間を、秒単位で指定します。

max_input_nesting_level integer

外部からの入力変数 ($_GET$_POST など) のネストの深さの最大値を設定します。

magic_quotes_gpc boolean

GPC(Get/Post/Cookie) 処理に関する magic_quotes の設定を行います。 magic_quotes が on の場合、'(シングルクオート)、" (ダブルクオート)、\(バックスラッシュ) 、NULL には全て自動的に バックスラッシュでエスケープ処理が行われます。magic_quotes_sybase も on の場合、シングルクオートは、バックスラッシュではなく シングルクオートでエスケープされます。

注意: magic_quotes_sybase ディレクティブもONの場合、このオプションは、 magic_quotes_gpc を完全に上書きします。両方のオプションを有効に することにより、シングルクオートのみが '' のようにエスケープされます。 2重引用符、バックスラッシュ、NULは変更されず、エスケープされません。

get_magic_quotes_gpc() も参照してください。

magic_quotes_runtime boolean

magic_quotes_runtime が有効の場合、 データベースおよびテクストファイルを含む外部ソースから データを返す全ての関数のクオートは、バックスラッシュで エスケープされます。magic_quotes_sybase も on の場合、シングルクオートは、バックスラッシュの代わりに シングルクオートでエスケープされます。

リソース型

リソース型は定義されていません。

定義済み定数

以下の定数は、PHP コアに含まれており、常に利用可能です。

表 2. 定義済の phpcredits() 定数

定数説明
CREDITS_GROUP1コア開発者のリスト
CREDITS_GENERAL2 一般的なクレジット: 言語設計とコンセプト、PHP と PHP SAPIモジュールの作者。
CREDITS_SAPI4 PHPのサーバAPIモジュールとその作者の一覧。
CREDITS_MODULES8 PHPの拡張モジュールとその作者の一覧。
CREDITS_DOCS16 ドキュメント作成チームのクレジット
CREDITS_FULLPAGE32 通常、他のフラグと組み合わせて使用されます。 他のフラグで示される情報を含む完全に独立したHTMLページを出力する ことを指定します。
CREDITS_QA64 品質管理チームのクレジット
CREDITS_ALL-1 全てのクレジット、CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_FULLPAGEを指定した場合と同じ。 この定数は、適当なタグを有する完全にスタンドアローンのHTMLページ を生成します。

表 3. phpinfo() の定数

定数説明
INFO_GENERAL1 configureオプション、php.ini の場所、構築日、Webサーバ、システ ム等。
INFO_CREDITS2 PHP クレジット。phpcredits()も参照して下さい。
INFO_CONFIGURATION4 PHPディレクティブの現在のローカルおよびマスター値。 ini_get()も参照してください。
INFO_MODULES8 ロードされているモジュールとそれぞれの設定。
INFO_ENVIRONMENT16 環境変数に関する情報で、$_ENVでも入手可能です。
INFO_VARIABLES32 EGPCS(Environment, GET, POST, Cookie, Server)から定義済の変数を表 示します。
INFO_LICENSE64 PHPライセンス情報。license faqも参照してください。
INFO_ALL-1 上記を全て表示します。これがデフォルト値です。

ASSERT_ACTIVE (integer)

ASSERT_CALLBACK (integer)

ASSERT_BAIL (integer)

ASSERT_WARNING (integer)

ASSERT_QUIET_EVAL (integer)

目次
assert_options -- 様々な assert フラグを設定/取得する
assert -- assertion が FALSE であるかどうかを調べる
dl -- 実行時に PHP 拡張モジュールをロードする
extension_loaded -- ある拡張機能がロードされているかどうかを調べる
get_cfg_var -- PHP 設定オプションの値を取得する
get_current_user -- 現在の PHP スクリプトの所有者の名前を取得する
get_defined_constants -- すべての定数の名前とその値を連想配列として返す
get_extension_funcs -- あるモジュールの関数名を配列として返す
get_include_path -- 現在の include_path 設定オプションを取得する
get_included_files -- include または require で読み込まれたファイルの名前を配列として返す
get_loaded_extensions -- コンパイル/ロードされている全てのモジュールの名前を配列として返す
get_magic_quotes_gpc -- magic quotes gpc の現在の設定を得る
get_magic_quotes_runtime -- magic_quotes_runtime の現在アクティブな設定値を取得する
get_required_files -- get_included_files() のエイリアス
getenv -- 環境変数の値を取得する
getlastmod -- 最終更新時刻を取得する
getmygid -- PHP スクリプトの所有者の GID を得る
getmyinode -- 現在のスクリプトの inode を取得する
getmypid -- PHP のプロセス ID を取得する
getmyuid -- PHP スクリプト所有者のユーザ ID を取得する
getopt -- コマンドライン引数のリストからオプションを取得する
getrusage -- カレントリソースの使用に関する情報を得る
ini_alter -- ini_set() のエイリアス
ini_get_all -- 全ての設定オプションを得る
ini_get -- 設定オプションの値を得る
ini_restore -- 設定オプションの値を元に戻す
ini_set -- 設定オプションの値を設定する
main -- main() のダミー
memory_get_peak_usage -- PHP によって割り当てられたメモリの最大値を返す
memory_get_usage -- PHP に割り当てられたメモリの量を返す
php_ini_scanned_files -- 追加の ini ディレクトリにある .ini ファイルのリストを取得する
php_logo_guid -- ロゴの guid を取得する
php_sapi_name -- ウェブサーバと PHP の間のインターフェイスの型を返す
php_uname -- PHP が稼動しているオペレーティングシステムに関する情報を返す
phpcredits -- PHP に関するクレジットを出力する
phpinfo -- いろいろな PHP 情報を出力する
phpversion -- 現在の PHP バージョンを取得する
putenv -- 環境変数の値を設定する
restore_include_path -- include_path 設定オプションの値を元に戻す
set_include_path -- include_path 設定オプションをセットする
set_magic_quotes_runtime -- magic_quotes_runtime の現在アクティブな設定をセットする
set_time_limit -- 実行時間の最大値を制限する
sys_get_temp_dir -- 一時ファイル用に使用されるディレクトリのパスを返す
version_compare -- ふたつの "PHP 標準" バージョン番号文字列を比較する
zend_logo_guid -- Zend guid を取得する
zend_version -- 現在の Zend Engine のバージョンを取得する