実行時設定
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 | |
assert.exception | "0" | PHP_INI_ALL | PHP 7.0.0 以降で利用可能。 |
enable_dl | "1" | PHP_INI_SYSTEM | この非推奨の機能は、きっと
将来 削除 されるでしょう。 |
max_execution_time | "30" | PHP_INI_ALL | |
max_input_time | "-1" | PHP_INI_PERDIR | |
max_input_nesting_level | "64" | PHP_INI_PERDIR | PHP 5.2.3 以降で有効。 |
max_input_vars | 1000 | PHP_INI_PERDIR | PHP 5.3.9 以降で有効 |
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP 5.4.0 で削除。 |
magic_quotes_runtime | "0" | PHP_INI_ALL | PHP 5.4.0 で削除。 |
zend.enable_gc | "1" | PHP_INI_ALL | PHP 5.3.0 以降で有効。 |
PHP_INI_* モードの詳細および定義については どこで設定を行うのか を参照してください。 以下に設定ディレクティブに関する 簡単な説明を示します。
assert.active
boolassert() の評価を有効にします。
assert.bail
boolassertion が失敗した時にスクリプトの実行を終了します。
assert.warning
boolassertion が失敗する度に PHP 警告を発行します。
assert.callback
stringassertion が失敗した時にコールされるユーザー関数
assert.quiet_eval
boolassertion 式の評価時に error_reporting() の現在の 設定を使用します。有効な場合、評価時にエラーは表示されません。 (暗黙のうちに error_reporting(0) とします) 無効な場合、エラーは、error_reporting() の設定に 基づき設定されます。
assert.exception
boolアサーションに失敗した場合に AssertionError 例外を発行します。
enable_dl
boolこのディレクティブは、Apacheモジュール版のPHPを使用した場合にのみ 有用です。PHPの動的ロード拡張機能をdl()で 仮想サーバー毎またはディレクトリ毎にオンまたはオフに変更することが できます。
動的ロード機能をオフにするのは主としてセキュリティ上の理由によります。 動的ロード機能により、 open_basedir の拘束を全て 無視することが可能になります。 デフォルトでは、動的ロードが可能です。
max_execution_time
intスクリプトがパーサにより強制終了されるまでに許容される最大の 時間を秒単位で指定します。この命令は、いい加減に書かれた スクリプトがサーバーの負荷を上げることを防止するのに役立ちます。 デフォルトでは、
30
に設定されています。 PHP を コマンドライン から実行する場合のデフォルト設定は0
です。Windows 以外のシステムでは、 最大実行時間は、システムコール、ストリーム操作等の 影響を受けません。より詳細な情報については、 set_time_limit() 関数の説明を参照ください。
Web サーバー側でもタイムアウトの設定項目を持ち、 その設定で PHP の実行が中断されることもあります。 Apache には
Timeout
ディレクティブ、IIS には CGI タイムアウト関数があり、どちらもデフォルトで 300 秒に設定されています。 これらの意味については、Web サーバーのドキュメントを参照ください。max_input_time
intスクリプトが POST、GET などの入力を パースする最大の時間を、秒単位で指定します。 これは、サーバー側で PHP が起動してからスクリプトの実行を開始するまでの時間です。 デフォルトの設定は
-1
です。 これは max_execution_time が代わりに使われることを意味しています。 無制限にするには、0
を設定してください。max_input_nesting_level
int外部からの入力変数 (
$_GET
や$_POST
など) のネストの深さの最大値を設定します。max_input_vars
int入力変数 を最大で何個まで受け付けるかを指定します (この制限は、スーパーグローバル $_GET、$_POST そして $_COOKIE にそれぞれ個別に適用されます)。 このディレクティブを使うと、ハッシュの衝突を悪用したサービス不能攻撃を受ける可能性を軽減できます。 このディレクティブで設定した数を超える入力変数があった場合は
E_WARNING
が発生し、 それ以降の入力変数はリクエストから削除されます。magic_quotes_gpc
bool警告
この機能は PHP 5.3.0 で 非推奨となり、 PHP 5.4.0 で削除されました。
GPC(Get/Post/Cookie) 処理に関する magic_quotes の設定を行います。 magic_quotes が on の場合、'(シングルクオート)、" (ダブルクオート)、\(バックスラッシュ) 、NULL には全て自動的に バックスラッシュでエスケープ処理が行われます。magic_quotes_sybase も on の場合、シングルクオートは、バックスラッシュではなく シングルクオートでエスケープされます。
get_magic_quotes_gpc() も参照してください。
magic_quotes_runtime
bool警告
この機能は PHP 5.3.0 で 非推奨となり、 PHP 5.4.0 で削除されました。
magic_quotes_runtime
が有効の場合、 データベースおよびテクストファイルを含む外部ソースから データを返す全ての関数のクオートは、バックスラッシュで エスケープされます。magic_quotes_runtime
の影響を受ける関数は次のとおりです (PECL の関数は除きます)。- get_meta_tags()
- file_get_contents()
- file()
- fgets()
- fwrite()
- fread()
- fputcsv()
- stream_socket_recvfrom()
- exec()
- system()
- passthru()
- stream_get_contents()
- bzread()
- gzfile()
- gzgets()
- gzwrite()
- gzread()
- exif_read_data()
- dba_insert()
- dba_replace()
- dba_fetch()
- ibase_fetch_row()
- ibase_fetch_assoc()
- ibase_fetch_object()
- mssql_fetch_row()
- mssql_fetch_object()
- mssql_fetch_array()
- mssql_fetch_assoc()
- mysqli_fetch_row()
- mysqli_fetch_array()
- mysqli_fetch_assoc()
- mysqli_fetch_object()
- pg_fetch_row()
- pg_fetch_assoc()
- pg_fetch_array()
- pg_fetch_object()
- pg_fetch_all()
- pg_select()
- sybase_fetch_object()
- sybase_fetch_array()
- sybase_fetch_assoc()
- SplFileObject::fgets()
- SplFileObject::fgetcsv()
- SplFileObject::fwrite()
zend.enable_gc
bool循環参照コレクタを有効あるいは無効にします。