以下の関数により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.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
enable_dl | "1" | PHP_INI_SYSTEM |
max_execution_time | "30" | PHP_INI_ALL |
magic_quotes_gpc | "1" | PHP_INI_PERDIR|PHP_INI_SYSTEM |
magic_quotes_runtime | "0" | PHP_INI_ALL |
以下に設定ディレクティブに関す る簡単な説明を示します。
Enable assert() evaluation.
Terminate script execution on failed assertions.
assertionが失敗する度にPHP警告を発行します。
assertionが失敗した時にコールされるユーザ関数
assertion式の評価時にerror_reporting()の現在 の設定を使用します。有効な場合、評価時にエラーは表示されません。 (暗黙のうちにerror_reporting(0)とします) 無効な場合、エラーは、error_reporting()の設定 に基づき設定されます。
このディレクティブは、Apacheモジュール版のPHPを使用した場合にの み有用です。PHPの動的ロード拡張機能をdl()で仮 想サーバー毎またはディレクトリ毎にonまたはoffオフに変更すること ができます。
動的ロード機能をオフにするのは主としてセキュリティ上の理由によ ります。動的ロード機能により、 open_basedirの拘束を全て無視す ることが可能になります。 デフォルトでは、セーフモードを 使用している場合以外、動的ロードが可能です。セーフモードにおいて は、dl()を使用することが常に不可能になります。
スクリプトがパーサにより強制終了されるまでに許容される最大の 時間を秒単位で指定します。この命令は、いい加減に書かれたスク リプトがサーバーの負荷を上げることを防止するのに役立ちます。 デフォルトでは、30に設定されています。
最大実行時間は、システムコール、sleep()関 数等の影響を受けません。より詳細な情報については、 set_time_limit()関数の説明を参照ください。
セーフモードで実行している場合にはこの設定をini_set() で変更することはできません。次善策としてはセーフモードをオフにするか あるいはphp.ini上で制限時間を変えるしかありません。
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 が有効の場合、 データベースおよびテクストファイルを含む外部ソースから データを返す全ての関数のクオートは、バックスラッシュで エスケープされます。magic_quotes_sybase もonの場合、シングルクオートは、バックスラッシュの代わりにシング ルクオートでエスケープされます。
この拡張モジュールはリソース型を全く定義しません。
この一覧にある定数は、PHPコアに含まれており常に利用可能です。
表 2. 定義済のphpcredits()定数
定数 | 値 | 説明 |
---|---|---|
CREDITS_GROUP | 1 | コア開発者のリスト |
CREDITS_GENERAL | 2 | General credits: Language design and concept, PHP 4.0 authors and SAPI module. 一般的なクレジット: 言語設計とコンセプト、PHP4.0と PHP SAPIモジュールの作者。 |
CREDITS_SAPI | 4 | PHPのサーバAPIモジュールとその作者の一覧。 |
CREDITS_MODULES | 8 | PHPの拡張モジュールとその作者の一覧。 |
CREDITS_DOCS | 16 | ドキュメント作成チームのクレジット |
CREDITS_FULLPAGE | 32 | 通常、他のフラグと組み合わせて使用されます。 他のフラグで示される情報を含む完全に独立したHTMLページを出力する ことを指定します。 |
CREDITS_QA | 64 | 品質管理チームのクレジット |
CREDITS_ALL | -1 | 全てのクレジット、CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_FULLPAGEを指定した場合と同じ。 この定数は、適当なタグを有する完全にスタンドアローンのHTMLページ を生成します。 |
表 3. phpinfo() constants
Constant | Value | Description |
---|---|---|
INFO_GENERAL | 1 | configureオプション、php.ini の場所、構築日、Webサーバ、システ ム等。 |
INFO_CREDITS | 2 | PHP 4 クレジット。phpcredits()も参照して下さ い。 |
INFO_CONFIGURATION | 4 | PHPディレクティブの現在のローカルおよびマスター値。 ini_get()も参照してください。 |
INFO_MODULES | 8 | ロードされているモジュールとそれぞれの設定。 |
INFO_ENVIRONMENT | 16 | 環境変数に関する情報で、$_ENVでも入手可能です。 |
INFO_VARIABLES | 32 | EGPCS(Environment, GET, POST, Cookie, Server)から定義済の変数を表 示します。 |
INFO_LICENSE | 64 | PHPライセンス情報。license faqも参照してください。 |
INFO_ALL | -1 | 上記を全て表示します。これがデフォルト値です。 |