Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

php.ini [2019/01/10 08:13]
php.ini [2020/11/18 19:10] (текущий)
Строка 1: Строка 1:
 +====== Конфигурация php.ini ======
 +{{htmlmetatags>
 +metatag-description=(php.ini — это конфигурационный файл, содержащий настройки интерпретатора PHP.)
 +}}
 + 
 +
 +  * [[http://www.php.net/manual/ru/ini.list.php|Список директив php.ini]]
 +  * [[Работа с директивами PHP.ini в httpd.conf]]
 +
 +**php.ini** - конфигурационный файл [[PHP]].
 +
 +  * Расположение файла php.ini в разных ОС. Ini файлов может быть много, чтобы узнать какой php.ini загружен, нужно узнать чему равен параметр "Loaded Configuration File", например через функцию [[phpinfo]]()<file>
 +Debian GNU/Linux:/etc/php5/apache2/php.ini 
 +Ubuntu GNU/Linux:/etc/php5/apache2/php.ini 
 +FreeBSD:/usr/local/etc/php.ini
 +</file> 
 +  * Получить значение параметра из php.ini<file>
 +echo ini_get('post_max_size');
 +</file>
 +
 +**Директивы PHP**
 +  * register_long_arrays Off - сообщает PHP, следует ли регистрировать устаревшие длинные предопределенные переменные типа $HTTP_*_VARS. Если вы их не используете, рекомендуем отключить их из соображений производительности. Вместо них следует использовать суперглобальные массивы, например $_GET. Эта директива стала доступна начиная с версии PHP 5.0.0.
 +  * [[http://www.php.net/manual/ru/ini.core.php#ini.register-globals|register_globals]] Off - запрещает регистрацию переменных, полученных методом [[POST]] или [[GET]] в глобальный массив [[php#superglobalnye_peremennye|$GLOBALS]]. Данная возможность была помечена УСТАРЕВШЕЙ начиная с версии PHP 5.3.0 и была УДАЛЕНА в версии PHP 5.4.0.
 +  * [[http://www.php.net/manual/ru/timezones.php|Список поддерживаемых временных зон]] для параметра date.timezone
 +====== Как увеличить максимальный размер закачиваемого файла по HTTP с помощью PHP? ======
 +В php.ini настройте параметры:
 +
 +  * upload_max_filesize 20M # максимальный размер закачиваемого файла - 20 Мб
 +  * post_max_size 28M # объем данных передаваемых методом POST. post_max_size должен превышать размер upload_max_filesize
 +  * php_value max_input_time 864000 # время приема данных
 +  * php_value max_execution_time 864000 # время выполнения скрипта
 +  * может быть установлен [[mod_security]] - нужно проверить параметр SecRequestBodyLimit
 +
 +====== Персональный php.ini ======
 +Чтобы PHP увидел ваш php.ini файл, вам нужно добавить в htaccess одну строку. /home/pathtodir - полный путь к каталогу, в котором находится ваш php.ini файл.
 +<file>
 +SetEnv PHPRC /home/pathtodir
 +</file>
 +====== Изменить время выполнения скрипта ======
 +**Ограничение по ресурсам**:
 +  * max_execution_time = число
 +Устанавливется максимальное возможное время выполнения скрипта в секундах.
 +  * max_input_time = число
 +Максимально возможное время в секундах, которое скрипт может потратить на обработку загружаемых данных.
 +  * memory_limit = 8m
 +Максимальный объем памяти, выделяемый сценарию, составляет, например, 8 Мбайт.
 +====== Fatal error: Allowed memory size of ======
 +Источник: [[http://webhelpcenter.ru/cms_errors/5-fatal-error-allowed-memory-size-of.html|Что означает "Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate ....."]]
 +
 +Fatal error: Allowed memory size of 54554432 bytes exhausted (tried to allocate ....."
 +
 +Эта ошибка означает, что ваш скрипт для выполнения требует памяти больше, чем разрешено в настройках [[PHP]] на сервере. Т.е. запрашиваемое значение превышает максимальное количество оперативной памяти предоставляемого пользовательскому аккаунту виртуальным хостингом.
 +
 +**Решение:**
 +  * Попробовать самостоятельно изменить это значение, добавив в самое начала index.php (расположенного в корне сайта) следующие строчки:<file>
 +<?php ini_set("memory_limit", "32M"); ?>
 +</file> это если хостер не отключил поддержку ini_set в настройках сервера.
 +  * Положить в корень сайта файл .htaccess следующего содержания:<file>php_value memory_limit 32M
 +</file>лимит можно изменять самостоятельно, можно поставить и 64M но не наглеть :) Если же такой файл уже есть в корне сайта — просто добавьте в него приведенную выше строку. Если у хостера PHP работает ка PHP-CGI через suPHP, то это может вызвать ошибку 500, значить использовать директивы php_flag, php_value в файле .htaccess невозможно!
 +  * Некоторые хостеры поддерживают работу php.ini у клиента, т.е. вы можете самостоятельно делать свои настройки PHP для своей учетной записи. А значить создайте файл php.ini в корне сайта и добавьте следующий код: <file>
 +memory_limit = 32M
 +</file>
 +  * Если это не помогло — обратитесь к администратору хостинга и попросите увеличить количество доступной памяти для PHP.
  

Рейтинг курсов Английский язык по Скайп