Как изменить параметры php

Как изменить настройки конфигурации

Когда PHP используется как модуль Apache вы также можете менять настройки конфигурации, используя директивы в файлах конфигурации Apache (например, httpd.conf ) и файлах .htaccess . Для этого вам необходимы «AllowOverride Options» или «AllowOverride All» привилегии.

Есть несколько директив Apache, которые позволяют вам изменить конфигурацию PHP посредством файлов конфигурации Apache. Директивы для PHP_INI_ALL , PHP_INI_PERDIR , и PHP_INI_SYSTEM , вы можете увидеть в приложении Список директив php.ini

Устанавливает значение обозначенной директивы. Может использоваться только с директивами типа PHP_INI_ALL и PHP_INI_PERDIR Для очистки предыдущих установленных значений используйте значение none.

Замечание: Не используйте php_value для установки логических значений. Вместо этого необходимо использовать php_flag (см. ниже).

Используется для установки директивам логических значений. Может быть использовано только с директивами типа PHP_INI_ALL и PHP_INI_PERDIR .

php_admin_value name value

Устанавливает значение обозначенной директивы. Не может быть использовано в файлах .htaccess . Директивы любого типа, установленные с помощью php_admin_value не могут быть переопределены через .htaccess или ini_set() . Чтобы очистить предыдущее значение используйте значение none.

php_admin_flag name on|off

Используется для установки директивам логических значений. Не может быть использовано в файлах .htaccess . Директивы любого типа, установленные с помощью php_admin_flag не могут быть переопределены через .htaccess или ini_set() .

Пример #1 Пример конфигурации Apache

 php_value include_path ".:/usr/local/lib/php" php_admin_flag engine on php_value include_path ".:/usr/local/lib/php" php_admin_flag engine on 

PHP константы не доступны вне PHP. К примеру, в httpd.conf вы не можете использовать константы PHP такие как E_ALL или E_NOTICE чтобы установить директиву error_reporting, так как они не будут иметь значения и будут приравниваться к 0. Используйте вместо этого соответствующие значения типа bitmask (битовая маска). Эти константы могут быть использованы в php.ini

Изменение конфигурации PHP через реестр Windows

При использовании PHP в Windows значения конфигурации могут быть изменены на уровне директории посредством реестра Windows. Значения конфигурации хранятся в ключе реестра HKLM\SOFTWARE\PHP\Per Directory Values, в под-ключах, включающих полный путь. К примеру, значения конфигурации для директории c:\inetpub\wwwroot могут храниться в ключе HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot. Настройки для директории будут действительны для любых скриптов запущенных из этой директории или её поддиректории. Значения ключа должны иметь название конфигурационной директивы PHP и строковое значение. PHP константы в значениях игнорируются. Однако, только значения конфигурации изменяемые в PHP_INI_USER могут быть установлены таким образом, значения же PHP_INI_PERDIR не могут.

Другие интерфейсы в PHP

Независимо от того, как вы запускаете PHP, вы можете изменять некоторые значения во время выполнения ваших скриптов помощью ini_set() . Для более детальной информации смотрите документацию на странице функции ini_set() .

Если вам интересен полный список конфигурационных настроек вашей системы с текущими значениями, то вы можете запустить phpinfo() функцию, и получить результирующую страницу. Вы также можете получить доступ к значениям индивидуально сконфигурированных директив в процессе выполнения, используя ini_get() или get_cfg_var() .

Источник

Изменение настроек PHP

Каждый владелец сайта рано или поздно сталкивается с необходимостью изменения настроек PHP. Например, нужно изменить кодировку сайта, максимальный размер загружаемых файлов, время выполнения скрипта или объем доступной памяти. Для изменения таких параметров нужно прописать новые или изменить имеющиеся параметры в специальных файлах .htaccess, php.ini или самом скрипте. Рассмотрим самые распространенные параметры, полный список изменяемых опций доступен в официальной документации https://www.php.net/manual/ru/ini.list.php

default_charset

С помощью этого параметра можно задать кодировку сайта. Наиболее распространенные значения utf-8 (обычно используется по умолчанию) и cp1251 (чаще всего используется устаревшими сайтами).

display_errors

Параметр предназначен для настройки вывода ошибок. При значении on включает вывод ошибок, off соответственно выключает.

upload_max_filesize

Задает максимальный размер загружаемого файла. Обычно данный параметр задают вместе с post_max_size и memory_limit, так как если указанные директивы будут иметь значения ниже upload_max_filesize, то ошибка при загрузке файлов сохранится.

post_max_size

Определяет максимально допустимый размер данных, передаваемых в POST запросе. Этот параметр должен быть выше или равен значению upload_max_filesize.

memory_limit

Задает лимит оперативной памяти для скрипта. Мы не рекомендуем устанавливать высокие значения этого параметра для всего сайта, так как можно пропустить бесконтрольный рост использования оперативной памяти и ошибки в работе сайта.

При получении ошибки «out of memory» рекомендуем первостепенно выполнить оптимизацию скрипта с целью снижения использования памяти и только при невозможности этого, расширить объем доступной памяти для отдельного скрипта с помощью функции ini_set.

max_execution_time

Позволяет настроить максимальное время выполнения скрипта. Если какой-то скрипт не успевает выполняться за установленный срок, пользователь увидит ошибку «maximum execution time of 60 seconds exceeded».

Не рекомендуем устанавливать высокие значения этого параметра для всего сайта, так как это может привести к скоплению долгих запросов и полному зависанию сайта. При необходимости долгого выполнения отдельных запросов, оптимизируйте код сайта с целью увеличения скорости его выполнения, либо расширяйте лимит с помощью ini_set для отдельных запросов.

max_input_vars

Директива задает максимальное число входных переменных в одном запросе.

mbstring.func_overload

Директива предназначена для замены однобайтовых функций двухбайтовыми (например strlen на mb_strlen), без внесения изменений в код. Чаще всего используется в устаревших версиях Битрикс.

Стоит отметить, что с PHP 7.2 параметр объявлен устаревшим, в 8.0 был полностью удален.

mbstring.internal_encoding

Обычно, этот параметр используется совместно с mbstring.func_overload для установки кодировки двухбайтовых функций. Это устаревшая возможность, вместо этого разработчики рекомендуют использовать default_charset.

Изменение параметров PHP через файл .htaccess

Файл .htaccess

Это основной способ изменения параметров PHP для нашего хостинга. Для изменения нужных параметров используйте php_value в файле .htaccess (рекомендуем вносить изменения в файл, который размещен в корневом каталоге сайта). Этим способом можно менять значения директив с пометками PHP_INI_ALL и PHP_INI_PERDIR.

php_value default_charset utf-8 php_value display_errors 1 php_value post_max_size 512M php_value upload_max_filesize 512M php_value memory_limit 512M php_value max_execution_time 600 php_value max_input_vars 10000

Указанные изменения распространяются на все подкаталоги, в которых расположен файл .htaccess. Получение 500 ошибки при входе на сайт, означает допущенную ошибку при редактировании файла.

Изменение параметров PHP через скрипты

Скрипт config.php

Этот способ подходит для любого хостинга. Изменение параметров PHP происходит с помощью функции ini_set в скриптах. Таким способом можно поменять директивы с пометками PHP_INI_USER и PHP_INI_ALL из официальной документации.

ini_set('default_charset', 'utf-8'); ini_set('display_errors', '1'); ini_set('post_max_size', '512M'); ini_set('upload_max_filesize', '512M'); ini_set('memory_limit', '512M'); ini_set('max_execution_time', '600'); ini_set('max_input_vars', '10000');

Вариант изменения параметров PHP через скрипты очень удобен, так как можно расширять ресурсы оперативной памяти, времени выполнения, объем загружаемых файлов для отдельных сложных запросов, а для всего сайта будут использоваться стандартные параметры.

Изменение параметров PHP через php.ini

Файл php.ini

Вариант изменения параметров PHP посредством файла php.ini преимущественно применим для владельцев собственных серверов. Через php.ini можно изменить абсолютно любой параметр PHP (в том числе mbstring для Битрикс).

default_charset = utf-8 display_errors = 1 post_max_size = 512M upload_max_filesize = 512M memory_limit = 512M max_execution_time = 600 max_input_vars = 10000

Источник

Изменение параметров PHP — директив php.ini

В разделе Параметры модуля PHP панели управления хостингом размещена таблица с изменяемыми параметрами. Установите необходимые значения в соответствии с требованиями скриптов сайта и сохраните изменения.

Ручное редактирование php.ini

Для редактирования файла php.ini необходимо:

  • загрузить на ваш компьютер файл php.ini, соответствующий вашей версии PHP, из директории /etc/php/version, например, с помощью файлового менеджера панели управления ;
  • загрузить отредактированную версию файла php.ini в домашнюю директорию /home/идентификатор;
  • перейти в раздел Управление веб-серверомпанели управления хостингом и выполнить перезапуск сервера, чтобы изменения вступили в силу.

При использовании собственного php.ini настройки PHP из панели управления хостингом работать не будут. Чтобы вернуться к автоматическим настройкам, нужно удалить php.ini из директории/home/идентификатор/ и перезапустить веб-сервер.

Для отдельных сайтов параметры PHP можно задать с помощью файла .htaccess и директив php_flag, php_value в соответствии с документацией PHP.

Туториал: как работать с языком программирования PHP

Источник

Читайте также:  Custom fields index php
Оцените статью