PHP 5.6.0 released


これらのモードは、ある PHP ディレクティブがいつどこで設定できるのかを表すものです。 マニュアルに記載されているすべてのディレクティブには、これらのモードのいずれかが指定されています。 たとえば、PHP スクリプト中で ini_set() で設定できるものもあれば php.inihttpd.conf でなければ設定できないものもあります。

たとえば output_bufferingPHP_INI_PERDIR なので、 ini_set() で設定することはできません。 一方 display_errorsPHP_INI_ALL なのでどこででも設定でき、当然 ini_set() ででも設定できます。

PHP_INI_* モードの定義
モード 意味
PHP_INI_USER ユーザースクリプト (ini_set() などで) または Windows レジストリ で設定可能なエントリ。 PHP 5.3 以降では、.user.ini でも設定可能
PHP_INI_PERDIR php.ini.htaccesshttpd.conf あるいは .user.ini (PHP 5.3 以降の場合) で設定可能なエントリ
PHP_INI_SYSTEM php.ini または httpd.confで設定可能なエントリ
PHP_INI_ALL どこでも設定可能なエントリ

add a note add a note

User Contributed Notes 1 note

mritunjay dot kumar at ballisticlearning dot com
1 year ago
There are several Apache directives that allow you to change the PHP configuration from within the Apache configuration files. For a listing of which directives are PHP_INI_ALL, PHP_INI_PERDIR, or PHP_INI_SYSTEM.

Sets the value of the specified directive. Can be used only with PHP_INI_ALL and PHP_INI_PERDIR type directives. To clear a previously set value use none as the value.

A handy trick to pick up parse errors in test_file.php if you can't set display_errors in php.ini or use .htaccess:
ini_set ('display_errors', true);
To Top