Настройка параметров 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_limitapc.num_files_hintapc.shm_sizeapc.ttlapc.user_entries_hint
Просмотр параметров php
- Просмотреть значения параметров php, установленных для сервера, можно на странице phpinfo:
https://server.timeweb.ru/phpinfo.php, гдеserver— имя сервера, на котором расположен ваш аккаунт. - Для того, чтобы просмотреть значения параметров PHP, установленных для конкретного сайта, создайте в его директории файл
info.phpсо следующим содержимым:
<?php
phpinfo();
?>
После этого информация будет доступна по ссылке http://имя_сайта/info.php.