php.ini コア構成オプションの説明
このリストには、コアの php.ini 構成オプションのみが含まれています。拡張機能の構成オプションについては、各拡張機能のドキュメント ページで説明されています。セッションのオプションはセッション ページにあります。
HTTPD オプション
表 G-3.HTTPD オプション
名前 デフォルト値 変更可能範囲 更新レコード
async_send "0" PHP_INI_ALL
言語オプション
表 G-4. 言語およびその他の構成オプション
名前 デフォルト値 変更可能範囲 更新レコード
short_open_tag "1" PHP asp_tags "0" PHP_INI_PERDIR は、PHP precision "14" PHP_INI_ALL
y2k_compliance "1" PHP_INI_ALL
allow_call_time_pass_reference "1" PHP expose_php "1" は php.ini でのみ設定可能です。
zend.ze1_compatibility_mode "0" PHP_INI_ALL PHP 5.0.0 以降で利用可能。
以下は、設定オプションの簡単な説明です。
short_open_tag boolean
PHP コード開始タグの短い形式 ( ?>) の使用を許可するかどうかを決定します。 XML で PHP を使用している場合は、このオプションを無効にして、 の組み込み使用を容易にすることができます。それ以外の場合は、PHP を通じて出力することもできます (例: )。無効にした場合は、完全な形式の PHP コード開始フラグ () を使用する必要があります。
注: このディレクティブは、 と同等の省略形 = にも影響します。この省略形を使用するには、short_open_tag をオンにする必要があります。
asp_tags boolean
通常の タグに加えて、ASP スタイルのタグ <% %> の使用を許可します。これには、出力変数値の省略形 も含まれます。詳細については、「HTML からの切り離し」セクションを参照してください。
注: ASP スタイル フラグのサポートは、バージョン 3.0.4 で新たに追加されました。
精度整数
浮動小数点数で表示される有効桁数。
y2k_compliance boolean
2000 年準拠を強制します (互換性のないブラウザでは問題が発生します)。
allow_call_time_pass_reference boolean
関数を呼び出すときにパラメータを強制的に参照渡しできるようにするかどうか。このメソッドは非推奨であり、PHP/Zend の将来のバージョンではサポートされなくなる可能性があります。どのパラメータを参照によって渡す必要があるかを関数定義で指定することをお勧めします。将来のバージョンでもスクリプトが確実に実行されるように、このオプションをオフにしてスクリプトが適切に実行されることを確認することをお勧めします (この機能を使用するたびに警告が表示され、パラメーターは参照ではなく値で渡されます)。 。
関数を呼び出すときにパラメーターを参照によって渡すことは、コードのクリーンさに影響するため、お勧めできません。関数のパラメーターが参照渡しとして宣言されていない場合、関数は文書化されていないメソッドを通じてパラメーターを変更できます。副作用を回避するには、関数が宣言されるときにのみ、パラメーターを参照によって渡す必要があることを指定することをお勧めします。
引用された説明を参照してください。
expose_php boolean
サーバーにインストールされている PHP を公開するかどうかを決定します (たとえば、Web サーバーのヘッダーに署名を追加することによって)。セキュリティ上の脅威はなく、PHP がサーバーにインストールされているかどうかをクライアントに知らせるだけです。
zend.ze1_compatibility_mode boolean
Zend Engine 1 (PHP 4) 互換モードを有効にします。これは、オブジェクトのコピー、構築、比較に影響します。
「PHP 4 から PHP 5 への移植」を参照してください。
リソースの制限
表 G-5. リソースの制限
名前 デフォルト値 変更可能範囲 更新レコード
memory_limit "8M" PHP_INI_ALL
以下は、構成オプションの簡単な説明です。
memory_limit integer
このコマンドは、スクリプトが適用できるメモリの最大バイト数を設定します。これは、不適切に書かれたスクリプトがサーバー上の使用可能なメモリを使い果たすことを防ぐのに役立ちます。このディレクティブを使用するには、コンパイル時に有効にする必要があります。したがって、configure 行には --enable-memory-limit を含める必要があります。メモリ制限が必要ない場合は、-1 に設定する必要があります。
4.3.2 以降、memory_limit が有効になっている場合、PHP 関数のmemory_get_usage() が使用できるようになりました。
整数型を使用する場合、その値はバイト単位で測定されます。簡略化された表記も使用できます。手順については、この FAQ を参照してください。
「max_execution_time」も参照してください。
データ処理
表 G-6. データ処理構成オプション
名前 デフォルト値 変更可能範囲 更新レコード
track_vars "On" PHP_INI_??
arg_separator.output "&" PHP_INI_ALL PHP 4.0.5 から利用可能です。
arg_separator.input "&" PHP_INI_PERDIR PHP 4.0.5 以降で利用可能です。
variables_order "EGPCS" PHP_INI_ALL
auto_globals_jit "1" PHP_INI_PERDIR PHP 5.0.0 以降で利用可能です。
register_globals "0" PHP_INI_PERDIR は、PHP register_argc_argv "1" PHP_INI_PERDIR は、PHP register_long_arrays "1" PHP_INI_PERDIR PHP 5.0.0 以降で利用可能です。
post_max_size "8M" PHP_INI_PERDIR は、PHP gpc_order "GPC" PHP_INI_ALL
auto_prepend_file NULL PHP auto_append_file NULL PHP_INI_PERDIR は、PHP default_mimetype "text/html" PHP_INI_ALL
default_charset "" PHP_INI_ALL
always_populate_raw_post_data "0" PHP allow_webdav_methods "0" PHP_INI_PERDIR
以下は、構成オプションの簡単な説明です。
track_vars boolean
有効にすると、環境変数、GET、POST、Cookie、サーバー変数がそれぞれグローバル連想配列で見つかります: $_ENV、$_GET、$_POST、$_COOKIE、$_SERVER。
PHP 4.0.3 では、track_vars は常にオンになっていることに注意してください。
arg_separator.output string
PHP によって生成された URL 内のパラメータを区切るための区切り文字。
arg_separator.input string
URL を変数に解析するために PHP によって使用される区切り文字のリスト。
注: このコマンドの各文字は区切り文字として扱われます。
variables_order string
EGPCS (環境、GET、POST、Cookie、サーバー) 変数が解析される順序を設定します。デフォルト設定は「EGPCS」です。たとえば、これを「GP」に設定すると、PHP は環境変数、Cookie、サーバー変数を完全に無視し、POST メソッド内の同じ名前の変数を GET メソッドの変数で上書きします。
「register_globals」を参照してください。
auto_globals_jit boolean
有効にすると、SERVER 変数と ENV 変数は、スクリプトの実行が開始されるまで待機するのではなく、最初の使用直後 (ジャスト イン タイム) に作成されます。これらの変数がスクリプトで使用されていない場合、この変数を有効にするとサーバーのパフォーマンスが向上します。
このオプションを有効にするには、PHP 構成オプション register_globals、 register_long_arrays、および register_argc_argv を無効にする必要があります。
register_globals boolean
EGPCS (環境、GET、POST、Cookie、サーバー) 変数をグローバル変数として登録するかどうかを決定します。
PHP 4.2.0 以降、このオプションはデフォルトでオフになっています。
関連情報については、「セキュリティ」の章の「register_globals の使用」を参照してください。
register_globals は実行時 (ini_set()) で設定できないことに注意してください。ただし、上で述べたように、ホストが許可している場合は .htaccess で使用できます。 .htaccess プロジェクトの例: php_flag register_globals off。
注: register_globals は、variables_order オプションの影響を受けます。
register_argc_argv boolean
PHP が argv および argc 変数を定義するかどうかを決定します (GET 情報が含まれる場合があります)。
コマンドラインメソッドを参照してください。さらに、このオプションは PHP 4.0.0 以降で利用可能で、それ以前は常に「オン」でした。
register_long_arrays boolean
PHP が $HTTP_*_VARS などの廃止された事前定義変数を登録するかどうかを設定します。 On (デフォルト) の場合、$HTTP_GET_VARS などの PHP 変数が登録されます。使用しない場合は、パフォーマンス上の理由から、このオプションをオフにして、代わりに $_GET などのスーパーグローバル配列を使用することをお勧めします。
このディレクティブは PHP 5.0.0 以降で利用可能です。
post_max_size integer
POST データに許可される最大サイズを設定します。この設定はファイルのアップロードにも影響します。大きなファイルをアップロードするには、この値が Upload_max_filesize より大きい必要があります。
設定スクリプトでメモリ制限が有効になっている場合、memory_limit もファイルのアップロードに影響します。一般に、memory_limit は post_max_size より大きくなければなりません。
整数型を使用する場合、その値はバイト単位で測定されます。簡略化された表記も使用できます。手順については、この FAQ を参照してください。
POST データのサイズが post_max_size より大きい場合、$_POST および $_FILES スーパーグローバルは空になります。これはさまざまな方法で実証できます。たとえば、$_GET 変数をスクリプトに渡してデータを処理する (つまり、