ProfiPHPProfiPHP
Категория: Веб сервер

Установка параметров конфигурации PHP

Для установки параметров конфигурации PHP существуют несколько режимов, которые определяют, когда и где директива может быть установлена.

Например, некоторые настройки могут быть установлены прямо во время выполнения скрипта, используя функцию Ini_set, тогда как другие могут требовать Php.ini или Httpd.conf:

- PHP_INI_USER - Значение может быть установлено в пользовательских скриптах с помощью функции Ini_set.

- PHP_INI_PERDIR - Значение может быть установлено в Php.ini, .htaccess или Httpd.conf.

- PHP_INI_SYSTEM - Значение может быть установлено в Php.ini или Httpd.conf.

- PHP_INI_ALL - Значение может быть установлено отовсюду.

Например, директива Date.timezone относиться к режиму PHP_INI_ALL, поэтому значение может быть установлено отовсюду. А директива Output_buffering соответствует режиму PHP_INI_PERDIR, поэтому значение может быть установлено установлено в Php.ini, .htaccess или Httpd.conf и не может быть установлено через Ini_set.

Если PHP используется как модуль Apache вы также можете менять настройки конфигурации, используя директивы в файлах конфигурации Apache (например, httpd.conf) и файлах .htaccess. Для этого вам необходимы "AllowOverride Options" или "AllowOverride All" привилегии.

Также, как и с установкой параметров конфигурации PHP в разных местах, не все директивы конфигурации PHP можно изменять посредством файлов конфигурации Apache.

Общий синтаксис имеет следующий вид:
php_value name value
Может использоваться только с директивами типа PHP_INI_ALL и PHP_INI_PERDIR. Для очистки предыдущих установленных значений используйте значение None.

Не используйте Php_value для установки логических значений. Вместо этого необходимо использовать Php_flag:
php_flag name on|off
Используется для установки директивам логических значений. Может быть использовано только с директивами типа PHP_INI_ALL и PHP_INI_PERDIR.
php_admin_value name value
Устанавливает значение обозначенной директивы. Не может быть использовано в файлах .htaccess. Директивы любого типа, установленные с помощью Php_admin_value не могут быть переопределены через .htaccess или Ini_set. Чтобы очистить предыдущее значение используйте значение None.
php_admin_flag name on|off
Используется для установки директивам логических значений. Не может быть использовано в файлах .htaccess. Директивы любого типа, установленные с помощью Php_admin_flag не могут быть переопределены через .htaccess или Ini_set.
PHP-константы недоступны вне PHP. К примеру, в Httpd.conf вы не можете использовать константы PHP такие как E_ALL или E_NOTICE чтобы установить директиву Error_reporting, так как они не будут иметь значения и будут приравниваться к "0". Используйте вместо этого соответствующие значения типа bitmask (битовая маска).

При использовании PHP в Windows значения конфигурации могут быть изменены на уровне директории посредством реестра Windows.

Независимо от того, как вы запускаете PHP, вы можете изменять некоторые значения во время выполнения ваших скриптов помощью Ini_set.

Для вывода полного списка конфигурационных настроек вашей системы с текущими значениями необходимо запустить функцию Phpinfo, и получить результирующую страницу. Вы также можете получить доступ к значениям индивидуально сконфигурированных директив в процессе выполнения, используя функцию Ini_get.

Добавить комментарий

Имя:
Текст комментария: