Настройка параметров PHP
PHP в рамках виртуального хостинга может работать в двух режимах — mod_php
и mod_cgi
:
- В первом случае PHP функционирует как модуль веб-сервера Apache, поэтому настройки PHP необходимо указывать в файле
.htaccess
. - Во втором случае настройки PHP необходимо указывать в файле
php.ini
, который располагается в директории cgi-bin вашего сайта.
По умолчанию на новых серверах PHP работает в режиме mod_php
, но при желании вы можете подключить режим mod_cgi
, воспользовавшись нашей инструкцией.
При настройке параметров через
.htaccess
ирективы необходимо добавлять в самый конец или в самое начало файла, вне блоков кода<IfModule>...</IfModule>
.
Настройка опций
allow_url_fopen
Опция включает поддержку оберток URL (URL wrappers), которые позволяют работать с объектами URL по протоколам ftp или http как с обычными файлами.
В файле php.ini:
Включение опции (для отключения значение = 0):
allow_url_fopen = 1
apc.cache_by_default
APC — акселератор PHP, использование которого увеличивает производительность интерпретатора за счет кэширования. В отдельных случаях, однако, может потребоваться его отключение — например, если скрипты не выполняются корректно из-за переполнения кэша.
В файле .htaccess:
Управление APC осуществляется директивами:
php_flag apc.cache_by_default on
php_flag apc.cache_by_default off
В файле php.ini:
Отключение APC (для включения значение = 1):
apc.cache_by_default = 0
default_charset
Директива указывает кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц.
В файле .htaccess:
AddDefaultCharset cp1251
php_value default_charset cp1251
В файле php.ini:
default_charset = "cp1251"
display_errors
Директива указывает, требуется ли выводить ошибки на экран вместе с остальным выводом, либо ошибки должны быть скрыты от пользователя.
В файле .htaccess:
Включение и выключение осуществляются следующим образом:
php_value display_errors 0
php_value display_errors 1
В файле php.ini:
Включение вывода ошибок (для выключения значение = off).
display_errors = on
log_errors
Опция позволяет включить логирование ошибок php с их записью в произвольный файл (в примере errors.log). При указании пути к файлу замените u и user на первую букву вашего логина и сам логин.
В файле .htaccess:
php_value log_errors on
php_value error_log /home/u/user/путь_к_файлу/errors.log
magic_quotes_gpc
Волшебные кавычки (Magic Quotes) — это процесс автоматического экранирования входящих данных PHP-скрипта. Если опция включена, то одинарные (') и двойные (") кавычки и обратный слэш (\)экранируются обратным слэшем автоматически.
В файле .htaccess:
Включение и выключение magic_quotes
осуществляется директивами:
php_flag magic_quotes_gpc on
php_flag magic_quotes_gpc off
В файле php.ini:
Отключение Magic Quotes (для включения значение = 1):
magic_quotes_gpc = 0
mail.add_x_header
Опция позволяет включить логирование отправки почты из скриптов сайта. Логи будут содержать полный путь до скрипта, адрес получателя и заголовки. При указании пути к файлу, в который будут записываться логи (mail.log
), замените u
и user
на первую букву вашего логина и сам логин.
В файле .htaccess:
php_value mail.add_x_header 1
php_value mail.log /home/u/user/public_html/mail.log
В файле php.ini:
mail.add_x_header = on
mail.log = /home/u/user/public_html/mail.log
max_input_vars
Директива указывает, сколько входных переменных может быть принято в одном запросе. Например:
В файле .htaccess:
php_value max_input_vars 11000
В файле php.ini:
max_input_vars = 11000
mbstring.func_overload и mbstring.internal_encoding
Для корректной работы сайтов на старых версиях CMS Битрикс (до v20.100.0) требуются следующие параметры:
При настройке через .htaccess:
php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
При настройке через php.ini:
mbstring.internal_encoding = UTF-8
mbstring.func_overload = 2
opcache.revalidate_freq
Отключение OpCache (требуется для CMS Битрикс).
При настройке через .htaccess:
php_value opcache.revalidate_freq 0
При настройке через php.ini:
opcache.revalidate_freq = 0
pcre.recursion_limit
Устанавливает лимит на рекурсию.
При настройке через .htaccess:
php_value pcre.recursion_limit 14000
При настройке через php.ini:
pcre.recursion_limit = 14000
post_max_size
Опция устанавливает максимально допустимый размер данных, отправляемых методом POST. Также это значение также влияет на загрузку файлов — для загрузки больших файлов оно должно быть больше значения директивы upload_max_filesize
.
При настройке через .htaccess:
php_value post_max_size 40M
При настройке через php.ini:
post_max_size = 40M
register_globals
Директивы для включения/выключения глобальных переменных.
При настройке через .htaccess:
php_flag register_globals on
php_flag register_globals off
При настройке через php.ini:
Отключение Register Globals (для включения значение = 1):
register_globals = 0
request_order
Директива регулирует порядок, в котором PHP добавляет переменные GET
, POST
и Cookie
в массив _REQUEST
.
При настройке через .htaccess:
php_value request_order GPC
При настройке через php.ini:
request_order = GPC
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
При настройке через .htaccess:
php_value upload_max_filesize 30M
При настройке через php.ini:
upload_max_filesize = 30M
Опции, которые не могут быть изменены
К настройкам 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 со следующим содержимым:
<?php
phpinfo();
?>
- После чего информация будет доступна по ссылке
http://имя_сайта/info.php
.