PHP

Настройка параметров PHP

На VPS-сервере PHP по умолчанию работает в режиме mod_php. Также Вы можете подключить режим mod_cgi по этой инструкции. В режиме mod_php PHP работает как модуль Apache. Для настройки PHP вносятся изменения в файл .htaccess.

В режиме mod_cgi запускается интерпретатор php-cgi. Для настройки PHP вносятся изменения в файл .php.ini. в каталоге сайта cgi-bin.

Настройка параметров в файле .htaccess

Все директивы необходимо добавлять в самом начале или в самом конце файла. Не добавляйте директивы между блоками кода <IfModule>...</IfModule>.

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

Что такое Cookie?

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 = " koi8-r"

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 и добавьте в него:

<?php

phpinfo();

?>

Далее для просмотра сведений перейдите по ссылке http://имя.вашего.сайта/info.php.

Если у Вас остались вопросы - создайте тикет в техподдержку.