Forum und email

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

導入

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

要件

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

インストール手順

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

実行時設定

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

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 PHP 6.0.0 で削除されました。
max_execution_time "30" PHP_INI_ALL  
max_input_time "-1" PHP_INI_PERDIR PHP 4.3.0 以降で有効
max_input_nesting_level "64" PHP_INI_PERDIR 4.4.8 以降で有効。PHP 5.0.0 で削除されました。
magic_quotes_gpc "1" PHP_INI_PERDIR PHP <= 4.2.3 では PHP_INI_ALL。PHP 6.0.0 で削除されました。
magic_quotes_runtime "0" PHP_INI_ALL PHP 6.0.0 で削除されました。
PHP_INI_* 定数の詳細および定義については php.ini ディレクティブ を参照してください。

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

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
警告

この機能は 非推奨 であり、PHP 6.0.0 で 削除 されます。この機能を使用しないことを強く推奨します。

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

注意: PHP 4 では、$_ENV 変数もエスケープの対象となります。

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

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

magic_quotes_runtime boolean
警告

この機能は 非推奨 であり、PHP 6.0.0 で 削除 されます。この機能を使用しないことを強く推奨します。

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

リソース型

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

定義済み定数

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

定義済の phpcredits() 定数
定数 説明
CREDITS_GROUP 1 コア開発者のリスト
CREDITS_GENERAL 2 一般的なクレジット: 言語設計とコンセプト、PHP と 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ページ を生成します。
phpinfo() の定数
定数 説明
INFO_GENERAL 1 configureオプション、php.ini の場所、構築日、Webサーバ、システ ム等。
INFO_CREDITS 2 PHP クレジット。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 上記を全て表示します。これがデフォルト値です。