Php ini применить изменения

Изменение настроек 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.

Читайте также:  HTML таблицы

Изменение параметров 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.ini на сервере обновилось и вступило в силу?

Доброго времени! На удаленном сервере установил VestaCP, зашел в phpmyadmin через него. Сервер на Debian 9. Когда пытаюсь загрузить свой дамп базы, который больше чем 2,048Кб получаю ошибку. /etc/php/7.0/php.ini изменил, post_max_size и upload_max_filesize выставил на 200Мб. Какие действия мне нужно сделать дальше, чтобы изменения вступили в силу?

Простой 4 комментария

SynCap

Очень зависит от:
1. В каком режиме запускается `PHP`: модуль сервера (Апач, . ). `FPM`, CGI
2. Какой `php.ini` подхватывается по-умолчанию — может зависеть от кучи настроек, которые могут храниться в переменных окружения
3. Какой уровень доступа для администрирования: имеются права на перезапуск демона или это виртуальный хостинг, где не позволят перестартовать демона (конечно, если он используется).
т.е. в Вашем вопросе недостаточно данных для постановки диагноза

JaxAdam

Константин , в этом и дело, что я сам не знаю) VestaCP установил дефолтный. Сижу через ssh в VDS от имени админа, могу подключиться по FTP.

SynCap

Adik Izat, посмотрите в настройках Весты, там должно быть по поводу сервера и способа подключения.
Ищите в Весте перезапуск сервера или FPM.
Также, смотрите в панели Веста настройки про файл `php.ini` и вносите изменения именно в тот, который нужно 🙂
Все остальные танцы — из командной строки, но на ту же тему.
Самый жёсткий вариант — «хитрый ход ленивого админа» — перезапуск системы, должен помочь 😀

Читайте также:  Apache подключить php centos

JaxAdam

Константин , проблемы то изначально и не было оказывается) Я менял файл php.ini по ftp, бросал обратно на сервак через FileZilla и пробовал service apache2 restart. Из-за того, что изменения не вступили в силу думал что делаю что-то не так. Потом зайдя в зиллу внизу увидел ошибку перемещения файла на сервер. То есть я мог скачать файл с сервера, но обратно закачать не смог. Поменял через nano и перезапустил апач, все заработало.

Источник

Php ini применить изменения

When using PHP as an Apache module, you can also change the configuration settings using directives in Apache configuration files (e.g. httpd.conf ) and .htaccess files. You will need «AllowOverride Options» or «AllowOverride All» privileges to do so.

There are several Apache directives that allow you to change the PHP configuration from within the Apache configuration files. For a listing of which directives are PHP_INI_ALL , PHP_INI_PERDIR , or PHP_INI_SYSTEM , have a look at the List of php.ini directives appendix.

Sets the value of the specified directive. Can be used only with PHP_INI_ALL and PHP_INI_PERDIR type directives. To clear a previously set value use none as the value.

Note: Don’t use php_value to set boolean values. php_flag (see below) should be used instead.

Used to set a boolean configuration directive. Can be used only with PHP_INI_ALL and PHP_INI_PERDIR type directives.

php_admin_value name value

Sets the value of the specified directive. This can not be used in .htaccess files. Any directive type set with php_admin_value can not be overridden by .htaccess or ini_set() . To clear a previously set value use none as the value.

php_admin_flag name on|off

Used to set a boolean configuration directive. This can not be used in .htaccess files. Any directive type set with php_admin_flag can not be overridden by .htaccess or ini_set() .

Example #1 Apache configuration example

 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 constants do not exist outside of PHP. For example, in httpd.conf you can not use PHP constants such as E_ALL or E_NOTICE to set the error_reporting directive as they will have no meaning and will evaluate to 0. Use the associated bitmask values instead. These constants can be used in php.ini

Changing PHP configuration via the Windows registry

When running PHP on Windows, the configuration values can be modified on a per-directory basis using the Windows registry. The configuration values are stored in the registry key HKLM\SOFTWARE\PHP\Per Directory Values , in the sub-keys corresponding to the path names. For example, configuration values for the directory c:\inetpub\wwwroot would be stored in the key HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot . The settings for the directory would be active for any script running from this directory or any subdirectory of it. The values under the key should have the name of the PHP configuration directive and the string value. PHP constants in the values are not parsed. However, only configuration values changeable in PHP_INI_USER can be set this way, PHP_INI_PERDIR values can not, because these configuration values are re-read for each request.

Читайте также:  Exception in thread main java lang outofmemoryerror java heap space java

Other interfaces to PHP

Regardless of how you run PHP, you can change certain values at runtime of your scripts through ini_set() . See the documentation on the ini_set() page for more information.

If you are interested in a complete list of configuration settings on your system with their current values, you can execute the phpinfo() function, and review the resulting page. You can also access the values of individual configuration directives at runtime using ini_get() or get_cfg_var() .

Источник

Изменения в php.ini не работают

Нужно было подкорректировать файл php.ini, но никакие изменения в нём не схватываются менял настройки глобального файла и пользовательского php работает как fast-cgi если как апач, то всё ок версия php — 5.2.6 os debian 5 опыта мало ,но есть предположение, что проблемы именно в самой версии php, хотя может я и не прав конечно:) в общем может кто подскажет, как победить этот глюк?

Создание сайтов на заказ — http://htmlplus.ru || Конструктор адаптивных сайтов Wysiwyg Web Builder — обучение, уроки, консультации — http://wwbmaster.ru

Логистик:
Нужно было подкорректировать файл php.ini, но никакие изменения в нём не схватываются

Что написано в строке «Loaded Configuration File» вывода phpinfo()? Что написано чуть ниже в «Additional .ini files parsed»? Какой именно файл(ы) вы редактировали? Какие именно «настройки», что написали?

myhand:
Что написано в строке «Loaded Configuration File» вывода phpinfo()?
Что написано чуть ниже в «Additional .ini files parsed»?
Какой именно файл(ы) вы редактировали?
Какие именно «настройки», что написали?

Configuration File (php.ini) Path /etc/php5/cgi Loaded Configuration File /var/www/****/data/php-bin/php.ini additional .ini files parsed /etc/php5/cgi/conf.d/curl.ini, /etc/php5/cgi/conf.d/eaccelerator.ini, /etc/php5/cgi/conf.d/gd.ini, /etc/php5/cgi/conf.d/mcrypt.ini, /etc/php5/cgi/conf.d/mysql.ini, /etc/php5/cgi/conf.d/mysqli.ini, /etc/php5/cgi/conf.d/pdo.ini, /etc/php5/cgi/conf.d/pdo_mysql.ini, /etc/php5/cgi/conf.d/pdo_pgsql.ini, /etc/php5/cgi/conf.d/pgsql.ini, /etc/php5/cgi/conf.d/snmp.ini редактировал те файлы, что нужно потом вообще все подряд отредактировал, что бы типа железно всё было )))) толку всё равно 0

сейчас ищу способ как обновить php на версию посвежее, но не до 5.3 Логистик добавил 12.12.2011 в 20:34

видимо бывают погуглил и нашёл такие же страдания и у всех кто на это жаловался стоит php 5.2.6 и режим fast-cgi

Источник

Оцените статью