- Настройка параметров PHP
- Настройка параметров в файле .htaccess
- apc.cache_by_default
- default_charset
- display_errors
- log_errors
- magic_quotes_gpc
- mail.add_x_header
- max_input_vars
- mbstring.func_overload, mbstring.internal_encoding
- opcache.revalidate_freq
- pcre.recursion_limit
- post_max_size
- register_globals
- request_order
- upload_max_filesize
- Настройка опций в файле php.ini
- allow_url_fopen
- apc.cache_by_default
- default_charset
- display_errors
- magic_quotes_gpc
- mail.add_x_header
- max_input_vars
- mbstring.func_overload и mbstring.internal_encoding
- opcache.revalidate_freq
- pcre.recursion_limit
- post_max_size
- register_globals
- request_order
- upload_max_filesize
- Опции, которые не могут быть изменены
- Просмотр параметров php
- Php pcre php ini
- ini_get_all
- Список параметров
- Возвращаемые значения
- Примеры
- Примечания
- Смотрите также
Настройка параметров PHP
На VPS-сервере PHP по умолчанию работает в режиме mod_php. Также Вы можете подключить режим mod_cgi по этой инструкции. В режиме mod_php PHP работает как модуль Apache. Для настройки PHP вносятся изменения в файл .htaccess.
В режиме mod_cgi запускается интерпретатор php-cgi. Для настройки PHP вносятся изменения в файл .php.ini. в каталоге сайта cgi-bin.
Настройка параметров в файле .htaccess
Все директивы необходимо добавлять в самом начале или в самом конце файла. Не добавляйте директивы между блоками кода
apc.cache_by_default
apc увеличивает производительность за счет кэширования. Также иногда требуется отключить акселератор apc, например, при переполнении кэша.
Для включения акселератора apc выполните команду:
php_flag apc.cache_by_default on
Для отключения apc выполните команду:
php_flag apc.cache_by_default off
default_charset
Директива default_charset задает кодировку по умолчанию для всех выдаваемых страниц. Например, utf-8, cp1251, koi8-r.
Для добавления директивы введите:
AddDefaultCharset koi8-r
php_value default_charset koi8-r
display_errors
Директива display_errors позволяет скрыть или выводить на экран ошибки.
Для включения вывода ошибок введите:
php_value display_errors 1
Для отключения вывода ошибок введите:
php_value display_errors 0
log_errors
Директива log_errors включает запись ошибок php и их сохранение в заданный пользователем файл.
Для включения директивы введите:
php_value log_errors on
php_value error_log /home/u/user/путь-к-файлу/errors.log
Где user – имя пользователя, u – первая буква имени пользователя.
magic_quotes_gpc
Опция magic_quotes_gpc (волшебные кавычки) включает экранирование данных PHP-скрипта. При этом обратный слэш (\), одинарные (‘) и двойные кавычки («) автоматически экранируются.
Для включения magic_quotes_gpc введите:
php_flag magic_quotes_gpc on
Для отключения magic_quotes_gpc введите:
php_flag magic_quotes_gpc off
mail.add_x_header
Опция mail.add_x_header включает логирование отправки почты из скриптов сайта. В логах содержится путь до скрпипта, адрес получатели и заголовки.
Для включения mail.add_x_header введите:
php_value mail.add_x_header 1
php_value mail.log /home/u/user/public_html/mail.log
Где user – имя пользователя, u – первая буква имени пользователя.
max_input_vars
Директива max_input_vars задает максимальное количество входных переменных, которое может быть принято в одном запросе.
Например, если максимальное количество входных переменных 9000, введите:
php_value max_input_vars 9000
mbstring.func_overload, mbstring.internal_encoding
Как правило, директивы mbstring.func_overload и mbstring.internal_encoding используются для оптимизации работы сайтов на CMS Битрикс. Для данной CMS введите:
php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
Для других CMS рекомендуется использовать такие значения:
php_value mbstring.func_overload 0
php_value mbstring.internal_encoding UTF-8
opcache.revalidate_freq
Настройка opcache.revalidate_freq необходима для CMS Битрикс. Чтобы отключить опцию введите:
php_value opcache.revalidate_freq 0
pcre.recursion_limit
Данная директива позволяет установить лимит на рекурсию.
php_value pcre.recursion_limit 12000
post_max_size
Директива post_max_size устанавливает максимальный объем данных, отправляемых методом POST:
php_value post_max_size 100M
Для загрузки больших файлов значение post_max_size должно быть больше upload_max_filesize.
register_globals
Директива register_globals используется для управления глобальными переменными.
Для включения глобальных переменных введите:
php_flag register_globals on
Для отключения глобальных переменных введите:
php_flag register_globals off
request_order
Директива request_order устанавливает очередность добавления переменных Cookie, POST и GET в массив _REQUEST:
php_value request_order CPG
upload_max_filesize
Данная директива позволяет установить максимальный размер закачиваемого файла.
php_value upload_max_filesize 100M
Настройка опций в файле php.ini
allow_url_fopen
Опция allow_url_fopen включает URL wrappers (поддержку оберток URL). Это позволяет работать с объектами URL через ftp/http как с обычными файлами.
Для включения allow_url_fopen введите:
allow_url_fopen = 1
Для отключения allow_url_fopen введите:
allow_url_fopen = 0
apc.cache_by_default
apc увеличивает производительность за счет кэширования. Также иногда требуется отключить акселератор apc, например, при переполнении кэша.
Для включения акселератора apc выполните команду:
apc.cache_by_default = 1
Для отключения apc выполните команду:
apc.cache_by_default = 0
default_charset
Директива default_charset задает кодировку по умолчанию для всех выдаваемых страниц. Например, utf-8, cp1251, koi8-r.
Для добавления директивы введите:
default_charset
display_errors
Директива display_errors позволяет скрыть или выводить на экран ошибки.
Для включения вывода ошибок введите:
display_errors = on
Для отключения вывода ошибок введите:
display_errors = off
magic_quotes_gpc
Опция magic_quotes_gpc (волшебные кавычки) включает экранирование данных PHP-скрипта. При этом обратный слэш (\), одинарные (‘) и двойные кавычки («) автоматически экранируются.
Для включения magic_quotes_gpc введите:
magic_quotes_gpc = 1
Для отключения magic_quotes_gpc введите:
magic_quotes_gpc = 0
mail.add_x_header
Опция mail.add_x_header включает логирование отправки почты из скриптов сайта. В логах содержится путь до скрпипта, адрес получатели и заголовки.
Для включения mail.add_x_header введите:
mail.add_x_header = on
mail.log = /home/u/user/public_html/mail.log
Где user – имя пользователя, u – первая буква имени пользователя.
max_input_vars
Директива max_input_vars задает максимальное количество входных переменных, которое может быть принято в одном запросе.
Например, если максимальное количество входных переменных 9000, введите:
max_input_vars = 9000
mbstring.func_overload и mbstring.internal_encoding
Как правило директивы mbstring.func_overload и mbstring.internal_encoding используются для оптимизации работы сайтов на CMS Битрикс. Для данной CMS введите:
mbstring.internal_encoding = UTF-8
mbstring.func_overload = 2
Для других CMS рекомендуется использовать такие значения:
mbstring.internal_encoding = UTF-8
mbstring.func_overload = 0
opcache.revalidate_freq
Настройка opcache.revalidate_freq необходима для CMS Битрикс. Чтобы отключить опцию введите:
opcache.revalidate_freq = 0
pcre.recursion_limit
Данная директива позволяет установить лимит на рекурсию.
pcre.recursion_limit = 12000
post_max_size
Директива post_max_size устанавливает максимальный объем данных, отправляемых методом POST:
post_max_size = 100M
php_value post_max_size 100M
Для загрузки больших файлов значение post_max_size должно быть больше upload_max_filesize.
register_globals
Директива register_globals используется для управления глобальными переменными.
Для включения глобальных переменных введите:
register_globals = 1
Для отключения глобальных переменных введите:
register_globals = 0
request_order
Директива request_order устанавливает очередность добавления переменных Cookie, POST и GET в массив _REQUEST:
request_order = CPG
upload_max_filesize
Данная директива позволяет установить максимальный размер закачиваемого файла.
upload_max_filesize = 100M
Опции, которые не могут быть изменены
При использовании виртуального сервера нельзя изменить следующие настройки php:
- apc.ttl
- apc.user_entries_hint
- memory_limit
- apc.shm_size
- apc.num_files_hint
Просмотр параметров php
Чтобы узнать параметры php для сайта, создайте в его каталоге файл info.php и добавьте в него:
phpinfo();
?>
Далее для просмотра сведений перейдите по ссылке http://имя.вашего.сайта/info.php.
Если у Вас остались вопросы — создайте тикет в техподдержку.
Php pcre php ini
The PCRE extension is a core PHP extension, so it is always enabled. By default, this extension is compiled using the bundled PCRE library. Alternatively, an external PCRE library can be used by passing in the —with-pcre-regex=DIR configuration option where DIR is the location of PCRE’s include and library files. It is recommended to use PCRE 8.10 or newer; as of PHP 7.3.0, PCRE2 is required.
PCRE’s just-in-time compilation is supported by default, which can be disabled with the —without-pcre-jit configuration option as of PHP 7.0.12.
The Windows version of PHP has built-in support for this extension. You do not need to load any additional extensions in order to use these functions.
PCRE is an active project and as it changes so does the PHP functionality that relies upon it. It is possible that certain parts of the PHP documentation is outdated, in that it may not cover the newest features that PCRE provides. For a list of changes, see the » PCRE library changelog and also the following bundled PCRE history:
PHP Version | Updated PCRE Version | Notes |
---|---|---|
8.2.0 | 10.40 | |
8.1.0 | 10.39 | |
7.4.12, 8.0.0 | 10.35 | |
7.4.6 | 10.34 | |
7.4.0 | 10.33 | |
7.3.0 | 10.32 | |
7.2.0 | 8.41 | |
7.0.3 | 8.38 | See CVE-2015-8383, CVE-2015-8386, CVE-2015-8387, CVE-2015-8389, CVE-2015-8390, CVE-2015-8391, CVE-2015-8393, CVE-2015-8394 |
7.0.0 | 8.37 | See CVE-2015-2325, CVE-2015-2326 |
ini_get_all
Возвращает все зарегистрированные настройки конфигурации.
Список параметров
Необязательное имя модуля. Если не null и не строка ( string ) core , функция возвращает только параметры.
Выводить детальные сведения о настройках или только текущие значения. По умолчанию true (выводить детальные сведения).
Возвращаемые значения
Возвращает ассоциативный массив с именами директив в качестве ключей. Возвращает false и вызывает ошибку уровня E_WARNING , если extension не существует.
Если details равен true (по умолчанию), в массиве будут содержаться global_value (значение настройки php.ini ), local_value (например, заданное с помощью ini_set() или .htaccess ) и access (уровень доступа).
Если details равен false , значением массива будет соответствующее текущее значение настройки.
Смотрите соответствующий раздел руководства, в котором приводится описание уровней доступа.
Замечание:
Директива может иметь несколько уровней доступа, в этом случае access будет содержать соответствующую битовую маску.
Примеры
Пример #1 Примеры использования ini_get_all()
Результатом выполнения данного примера будет что-то подобное:
Array ( [pcre.backtrack_limit] => Array ( [global_value] => 100000 [local_value] => 100000 [access] => 7 ) [pcre.recursion_limit] => Array ( [global_value] => 100000 [local_value] => 100000 [access] => 7 ) ) Array ( [allow_call_time_pass_reference] => Array ( [global_value] => 0 [local_value] => 0 [access] => 6 ) [allow_url_fopen] => Array ( [global_value] => 1 [local_value] => 1 [access] => 4 ) . )
Пример #2 Отключение details
print_r ( ini_get_all ( «pcre» , false )); // Добавлено в PHP 5.3.0
print_r ( ini_get_all ( null , false )); // Добавлено в PHP 5.3.0
?>?php
Результатом выполнения данного примера будет что-то подобное:
Array ( [pcre.backtrack_limit] => 100000 [pcre.recursion_limit] => 100000 ) Array ( [allow_call_time_pass_reference] => 0 [allow_url_fopen] => 1 . )
Примечания
Замечание:
ini_get_all() игнорирует опции типа «массив» такие как pdo.dsn.*.
Смотрите также
- Как изменить настройки конфигурации
- ini_get() — Получает значение настройки конфигурации
- ini_restore() — Восстанавливает значение настройки конфигурации
- ini_set() — Устанавливает значение настройки конфигурации
- get_loaded_extensions() — Возвращает массив имён всех скомпилированных и загруженных модулей
- phpinfo() — Выводит информацию о текущей конфигурации PHP
- ReflectionExtension::getINIEntries() — Получение ini-настроек модуля