-
assert.active
bool
-
assert の評価を有効にします。
assert の振る舞いを制御するには、
zend.assertions
を代わりに使うべきです。
警告この機能は PHP 8.3.0 で
非推奨になります。この機能に頼らないことを強く推奨します。
-
assert.bail
bool
-
assertion が失敗した時にスクリプトの実行を終了します。
警告この機能は PHP 8.3.0 で
非推奨になります。この機能に頼らないことを強く推奨します。
-
assert.warning
bool
-
assertion が失敗する度に PHP 警告を発行します。
警告この機能は PHP 8.3.0 で
非推奨になります。この機能に頼らないことを強く推奨します。
-
assert.callback
string
-
assertion が失敗した時にコールされるユーザー関数
警告この機能は PHP 8.3.0 で
非推奨になります。この機能に頼らないことを強く推奨します。
-
assert.quiet_eval
bool
-
警告
この機能は、PHP 8.0.0 で 削除されました。
assertion 式の評価時に error_reporting の現在の
設定を使用します。有効な場合、評価時にエラーは表示されません。
(暗黙のうちに error_reporting(0) とします)
無効な場合、エラーは、error_reporting の設定に
基づき設定されます。
-
assert.exception
bool
-
アサーションに失敗した場合に AssertionError 例外を発行します。
警告この機能は PHP 8.3.0 で
非推奨になります。この機能に頼らないことを強く推奨します。
-
enable_dl
bool
-
このディレクティブを使うと、
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
が発生し、
それ以降の入力変数はリクエストから削除されます。
-
zend.enable_gc
bool
-
循環参照コレクタを有効あるいは無効にします。
-
zend.max_allowed_stack_size
int
-
オペレーティングシステムが、
プログラムに使うことを許可しているネイティブスタックスペースの最大値。
オペレーティングシステムがが許可している以上のサイズを使おうとすると、
通常はハードなクラッシュが発生し、
デバッグ情報が簡単に利用できることはありません。
デバッグを容易にするために、PHP のエンジンはそうしたことが発生する前に
(zend.max_allowed_stack_size-zend.reserved_stack_size バイト以上のスタックをプログラムが使った場合に)
Error をスローします。
ユーザー定義の再帰的なコードは、ネイティブスタック空間を消費しません。
しかし、内部関数やマジックメソッドは消費します。
これらの関数を含む、とても深い再帰コードは、
利用可能なネイティブスタックスペースをすべて使い切る原因になりえます。
この
このパラメータに設定可能な値は下記の通りです:
-
0
:
プログラムが消費できる、
オペレーティングシステムのネイティブスタックスペースの最大値を自動検知します。これがデフォルトです。
検知できない場合は、既知のシステムのデフォルト値を使います。
-
-1
: エンジンのスタックサイズチェックを無効にします。
-
正の整数: 固定のサイズをバイト単位で指定します。
この値に大き過ぎる値を指定すると、スタックサイズチェックを無効にすることと同じことになります。
fibers のスタックサイズは
fiber.stack_size
によって決まります。
Fiber の実行中に行われるスタックをチェックする際には、
zend.max_allowed_stack_size の代わりにこれを使います。
注意:
この機能は スタック バッファ
のオーバーフローとは無関係です。つまり、セキュリティ機能ではありません。
-
zend.reserved_stack_size
int
-
予約するスタックのサイズを、バイト単位で指定します。
この値はバッファの値として
スタックサイズをチェックする際に max allowed stack size から引かれます。
このパラメータに設定可能な値は下記の通りです:
-
0
: 適切な値を自動的に検知します。
-
正の整数: 固定のサイズをバイト単位で指定します。
-
fiber.stack_size
int
-
個別の Fiber
に割り当てられるネイティブスタックサイズを、
バイト単位で指定します。
ポインタのサイズが8バイトより小さいシステムでは、
デフォルト値は 1MiB です。
8バイト以上のシステムでは、デフォルトは 2MiB です。