Web aym.pekori.to

CXVI. 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 以降で有効
magic_quotes_gpc"1"PHP_INI_PERDIRPHP <= 4.2.3 では PHP_INI_ALL
magic_quotes_runtime"0"PHP_INI_ALL 
PHP_INI_* 定数の詳細および定義については 付録G を参照してください。

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

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 そしてファイルアップロードなどの入力を パースする最大の時間を、秒単位で指定します。

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 -- 現在のスクリプトの i ノードを取得する
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_usage -- PHPに割り当てられたメモリの量を返す
php_get_tmpdir --  一時ファイル用に使用されるディレクトリのパスを返す
php_ini_scanned_files -- 追加のiniディレクトリにある.iniファイルのリストを取得する
php_logo_guid -- ロゴの guid を取得する
php_sapi_name --  Web サーバと 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 -- 実行時間の最大値を制限する
version_compare --  ふたつの "PHP 標準" バージョン番号文字列を比較する
zend_logo_guid -- Zend guid を取得する
zend_version -- カレントの Zend エンジンのバージョンを取得する