- Настройка во время выполнения
- Настройка параметров 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.ini .
Имя | По умолчанию | Меняемо | Список изменений |
---|---|---|---|
mbstring.language | «neutral» | PHP_INI_ALL | Доступна начиная с PHP 4.3.0. PHP_INI_PERDIR в PHP |
mbstring.detect_order | NULL | PHP_INI_ALL | Доступна начиная с PHP 4.0.6. |
mbstring.http_input | «pass» | PHP_INI_ALL | Доступна начиная с PHP 4.0.6. Устарела с PHP 5.6.0. |
mbstring.http_output | «pass» | PHP_INI_ALL | Доступна начиная с PHP 4.0.6. Устарела с PHP 5.6.0. |
mbstring.internal_encoding | NULL | PHP_INI_ALL | Доступна начиная с PHP 4.0.6. Устарела с PHP 5.6.0. |
mbstring.script_encoding | NULL | PHP_INI_ALL | Доступна начиная с PHP 4.3.0. Удалена в PHP 5.4.0. Используйте zend.script_encoding |
mbstring.substitute_character | NULL | PHP_INI_ALL | Доступна начиная с PHP 4.0.6. |
mbstring.func_overload | «0» | PHP_INI_SYSTEM | PHP_INI_PERDIR с PHP 4.3 до 5.2.6, а в других версиях — PHP_INI_SYSTEM. Доступна с PHP 4.2.0. |
mbstring.encoding_translation | «0» | PHP_INI_PERDIR | Доступна начиная с PHP 4.3.0. |
mbstring.strict_detection | «0» | PHP_INI_ALL | Доступна начиная с PHP 5.1.2. |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.
Краткое разъяснение конфигурационных директив.
По умолчанию в mbstring используются настройки национального языка. Обратите внимание, что эта опция автоматически определяет mbstring.internal_encoding, и mbstring.internal_encoding должен быть помещен после mbstring.language в php.ini
Включает прозрачный фильтр кодировки для входящих запросов HTTP, который выполняет обнаружение и преобразование входной кодировки во внутреннюю кодировку.
Данная возможность была xmlns УСТАРЕВШЕЙ начиная с версии PHP 5.6.0. Крайне не рекомендуется полагаться на эту возможность в будущем.
Определяет внутреннюю кодировку символов по умолчанию.
В PHP 5.6 и новее должен оставить эту опцию пустой и задать вместо нее default_charset .
Данная возможность была xmlns УСТАРЕВШЕЙ начиная с версии PHP 5.6.0. Крайне не рекомендуется полагаться на эту возможность в будущем.
Определяет кодировку символов по умолчанию для HTTP-ввода.
В PHP 5.6 и новее должен оставить эту опцию пустой и задать вместо нее default_charset .
Данная возможность была xmlns УСТАРЕВШЕЙ начиная с версии PHP 5.6.0. Крайне не рекомендуется полагаться на эту возможность в будущем.
Определяет кодировку символов по умолчанию для HTTP-вывода (конвертация из внутренней кодировки в кодировку HTTP вывода произойдет перед выводом).
В PHP 5.6 и новее должен оставить эту опцию пустой и задать вместо нее default_charset .
Определяет порядок определения кодировки символов по умолчанию. См. также mb_detect_order() .
Определяет символ для замены недопустимых символов кодировки.
Перегружает множество однобайтовых функций аналогами из mbstring. Смотрите раздел Перегрузка функций для получения дополнительной информации.
Эта опция может быть изменена только в файле php.ini .
Позволяет строгое определение кодировки.
Согласно » спецификации HTML 4.01, веб-браузерам позволяется перекодировать данные из формы, которые они получают в кодировке символов, отличной от используемой на странице. Смотрите функцию mb_http_input() для того, чтобы определить кодировку символов, используемую браузерами.
Хотя популярные браузеры способны достаточно точно определить кодировку символов данного HTML-документа, было бы лучше установить параметр charset в поле Content-Type HTTP-заголовка в требуемое значение или указать ее в параметре default_charset в ini-настройках.
Пример #1 Примеры настроек php.ini
; Установить язык по умолчанию mbstring.language = Neutral; Установить Neutral(UTF-8) языком по умолчанию(по умолчанию) mbstring.language = English; Установить английский языком по умолчанию mbstring.language = Japanese; Установить японский языком по умолчанию ;; Установить внутреннюю кодировку по умолчанию ;; Примечание: Убедитесь, что используете кодировку символов, которая работает с PHP mbstring.internal_encoding = UTF-8 ; Установить внутреннюю кодировку в UTF-8 ;; Включено преобразование кодировки HTTP-ввода. mbstring.encoding_translation = On ;; Установить кодировку символов по умолчанию для HTTP-ввода ;; Примечание: Скрипт не может изменить установку http_input. mbstring.http_input = pass ; Нет преобразования. mbstring.http_input = auto ; Установить HTTP-ввод в auto ; "auto" расширяется в соответствии с mbstring.language mbstring.http_input = SJIS ; Установить HTTP-ввод в SJIS mbstring.http_input = UTF-8,SJIS,EUC-JP ; Указать порядок ;; Установить кодировку символов по умолчанию для HTTP-вывода mbstring.http_output = pass ; Нет преобразования. mbstring.http_output = UTF-8 ; Установить кодировку HTTP-вывода в UTF-8 ;; Установить порядок определения кодировки символов по умолчанию mbstring.detect_order = auto ; Установить порядок определения в auto mbstring.detect_order = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Указать порядок ;; Установить символ замены по умолчанию mbstring.substitute_character = 12307 ; Указать значение Unicode mbstring.substitute_character = none ; Не печатать символ mbstring.substitute_character = long ; Примеры кодовых значений символов: U+3000,JIS+7E7E
Пример #2 Настройки php.ini для пользователей EUC-JP
;; Отключить буферизацию вывода output_buffering = Off ;; Установить кодировку в http-заголовке default_charset = EUC-JP ;; Установить японский языком по умолчанию mbstring.language = Japanese ;; Включено преобразование кодировки HTTP-ввода. mbstring.encoding_translation = On ;; Установить перекодировку HTTP-ввода в auto mbstring.http_input = auto ;; Конвертировать HTTP-вывод в EUC-JP mbstring.http_output = EUC-JP ;; Установить внутреннюю кодировку в EUC-JP mbstring.internal_encoding = EUC-JP ;; Не печатать недопустимые символы mbstring.substitute_character = none
Пример #3 Настройки php.ini для пользователей SJIS
;; Включить буферизацию вывода output_buffering = On ;; Установить mb_output_handler для включения перекодировки вывода output_handler = mb_output_handler ;; Установить кодировку в http-заголовке default_charset = Shift_JIS ;; Установить японский языком по умолчанию mbstring.language = Japanese ;; Установить перекодировку HTTP-ввода в auto mbstring.http_input = auto ;; Конвертировать в SJIS mbstring.http_output = SJIS ;; Установить внутреннюю кодировку в EUC-JP mbstring.internal_encoding = EUC-JP ;; Не печатать недопустимые символы mbstring.substitute_character = none
Настройка параметров PHP
PHP в рамках виртуального хостинга может работать в двух режимах — mod_php и mod_cgi :
- В первом случае PHP функционирует как модуль веб-сервера Apache, поэтому настройки PHP необходимо указывать в файле .htaccess .
- Во втором случае настройки PHP необходимо указывать в файле php.ini , который располагается в директории cgi-bin вашего сайта.
По умолчанию на новых серверах PHP работает в режиме mod_php, но при желании вы можете подключить режим mod_cgi, воспользовавшись нашей инструкцией .
Настройка опций в файле .htaccess
Директивы необходимо добавлять в самый конец или в самое начало файла, вне блоков кода
apc.cache_by_default
APC — акселератор PHP, использование которого увеличивает производительность интерпретатора за счет кэширования. В отдельных случаях, однако, может потребоваться его отключение — например, если скрипты не выполняются корректно из-за переполнения кэша.
Управление APC осуществляется директивами:
php_flag apc.cache_by_default on
php_flag apc.cache_by_default off
default_charset
Директива указывает кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц.
AddDefaultCharset cp1251
php_value default_charset cp1251
display_errors
Директива указывает, требуется ли выводить ошибки на экран вместе с остальным выводом, либо ошибки должны быть скрыты от пользователя.
Включение и выключение осуществляются следующим образом:
php_value display_errors 0
php_value display_errors 1
log_errors
Опция позволяет включить логирование ошибок php с их записью в произвольный файл (в примере errors.log). При указании пути к файлу замените u и user на первую букву вашего логина и сам логин.
php_value log_errors on
php_value error_log /home/u/user/путь_к_файлу/errors.log
magic_quotes_gpc
Волшебные кавычки (Magic Quotes) — это процесс автоматического экранирования входящих данных PHP-скрипта. Если опция включена, то одинарные (‘) и двойные («) кавычки и обратный слэш (\)экранируются обратным слэшем автоматически.
Включение и выключение magic_quotes осуществляется директивами:
php_flag magic_quotes_gpc on
php_flag magic_quotes_gpc off
mail.add_x_header
Опция позволяет включить логирование отправки почты из скриптов сайта. Логи будут содержать полный путь до скрипта, адрес получателя и заголовки. При указании пути к файлу, в который будут записываться логи ( mail.log ), замените u и user на первую букву вашего логина и сам логин.
php_value mail.add_x_header 1
php_value mail.log /home/u/user/public_html/mail.log
max_input_vars
Директива указывает, сколько входных переменных может быть принято в одном запросе. Например:
php_value max_input_vars 11000
mbstring.func_overload и mbstring.internal_encoding
Для корректной работы сайтов на старых версиях CMS Битрикс (до v20.100.0) требуются следующие параметры:
php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
opcache.revalidate_freq
Отключение OpCache (настройка требуется для CMS Битрикс):
php_value opcache.revalidate_freq 0
pcre.recursion_limit
Устанавливает лимит на рекурсию.
php_value pcre.recursion_limit 14000
post_max_size
Опция устанавливает максимально допустимый размер данных, отправляемых методом POST. Также это значение также влияет на загрузку файлов — для загрузки больших файлов оно должно быть больше значения директивы upload_max_filesize .
php_value post_max_size 40M
register_globals
Директивы для включения/выключения глобальных переменных:
php_flag register_globals on
php_flag register_globals off
request_order
Директива регулирует порядок, в котором PHP добавляет переменные GET , POST и Cookie в массив _REQUEST .
php_value request_order GPC
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
php_value upload_max_filesize 30M
Настройка опций в файле php.ini
allow_url_fopen
Опция включает поддержку оберток URL (URL wrappers), которые позволяют работать с объектами URL по протоколам ftp или http как с обычными файлами.
Включение опции (для отключения значение = 0):
apc.cache_by_default
APC — акселератор PHP, использование которого увеличивает производительность интерпретатора за счет кэширования. В отдельных случаях, однако, может потребоваться его отключение — например, если скрипты не выполняются корректно из-за переполнения кэша.
Отключение APC (для включения значение = 1):
default_charset
Указание кодировки по умолчанию:
display_errors
Включение вывода ошибок (для выключения значение = off).
magic_quotes_gpc
Отключение Magic Quotes (для включения значение = 1):
mail.add_x_header
Включение логирования отправки почты из скриптов сайта. В директиве mail.log указывается путь к файлу, в который будут сохраняться логи (замените u и user на первую букву вашего логина и сам логин).
mail.add_x_header = on
mail.log = /home/u/user/public_html/mail.log
max_input_vars
Изменение количества вводимых переменных:
mbstring.func_overload и mbstring.internal_encoding
Настройки для старых версий CMS Битрикс:
mbstring.internal_encoding = UTF-8
mbstring.func_overload = 2
opcache.revalidate_freq
Отключение OpCache (настройка для CMS Битрикс):
opcache.revalidate_freq = 0
pcre.recursion_limit
pcre.recursion_limit = 14000
post_max_size
Максимальный размер данных, отправляемых методом POST. Это значение также влияет на загрузку файлов — для загрузки больших файлов оно должно быть больше значения директивы upload_max_filesize .
register_globals
Отключение Register Globals (для включения значение = 1):
request_order
Регулирует порядок, в котором PHP добавляет переменные GET , POST и Cookie в массив _REQUEST .
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
Опции, которые не могут быть изменены
К настройкам PHP, изменение которых невозможно в рамках виртуального хостинга, относятся:
- memory_limit
- apc.num_files_hint
- apc.shm_size
- apc.ttl
- apc.user_entries_hint
Просмотр параметров php
- Просмотреть значения параметров php, установленных для сервера , можно на странице phpinfo: https://server.timeweb.ru/phpinfo.php , где server — имя сервера, на котором расположен ваш аккаунт.
- Для того, чтобы просмотреть значения параметров php, установленных для конкретного сайта , создайте в его директории файл info.php со следующим содержимым: