The manual states above:
<<<
The default is to allow dynamic loading, except when using safe mode. In safe mode, it's always impossible to use dl().
>>>
...however, on the manual page for dl(), it states:
<<<
Note: dl() is not supported in multithreaded Web servers. Use the extensions statement in your php.ini when operating under such an environment. However, the CGI and CLI build are not affected !
Note: As of PHP 5, the dl() function is deprecated in every SAPI except CLI. Use Extension Loading Directives method instead.
Note: Since PHP 6 this function is disabled in all SAPIs, except CLI, CGI and embed.
>>>
PHP オプションと情報(info)
導入
以下の関数によりPHP自体に関する多くの情報(例えば、実行時の設定、 ロードされている拡張モジュール、バージョン等)を 得ることができます。実行しているPHPのオプションを設定する関数もあ ります。おそらく最も有名な関数であるphpinfo() もここにあります。
要件
外部ライブラリを必要としません。
インストール手順
PHP コアに含まれるため、 追加のインストール無しで使用できます。
実行時設定
php.ini の設定により動作が変化します。
| 名前 | デフォルト | 変更の可否 | 変更の履歴 |
|---|---|---|---|
| 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 で削除されました。 |
以下に設定ディレクティブに関する 簡単な説明を示します。
- 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
- 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 コアに含まれており、常に利用可能です。
| 定数 | 値 | 説明 |
|---|---|---|
| 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ページ を生成します。 |
| 定数 | 値 | 説明 |
|---|---|---|
| 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 | 上記を全て表示します。これがデフォルト値です。 |
目次
- 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_thread_id — 現在のスレッドの一意な ID を返す
- zend_version — 現在の Zend Engine のバージョンを取得する
PHP オプション/情報
20-Jul-2007 11:22
16-Mar-2005 10:04
Note: when magic_quotes_gpc is ON, it will also slash values inside both $_SERVER['QUERY_STRING'] and $_SERVER['SCRIPT_NAME'] (and equivalents) will also be slashed.
15-Jun-2004 09:37
You probably don't want to set "magic_quotes_runtime" because it affects even binary file read/write operations. This is especially problematic if you include someone else's library that depends on binary read/write. If you enable "magic_quotes_runtime", be sure to use set_magic_quotes_runtime() function call to disable it before calling someone else's library that does binary read/write.