Конфигурирование PHP
Материал из 1GbWiki.
Версия 12:01, 28 февраля 2013 (править) Renton (Обсуждение | вклад) (→Ссылки) ← К предыдущему изменению |
Версия 12:05, 28 февраля 2013 (править) (отменить) Renton (Обсуждение | вклад) (→Ссылки) К следующему изменению → |
||
Строка 101: | Строка 101: | ||
Также посмотрите эту статью [[Эмуляция auto prepend file на prosto.1gb.ru]] | Также посмотрите эту статью [[Эмуляция auto prepend file на prosto.1gb.ru]] | ||
+ | |||
+ | == См. также == | ||
+ | * [[Юникс шелл]] | ||
== Ссылки == | == Ссылки == | ||
- | * [http://ru.php.net/manual/en/ini.list.php Список параметров PHP] - документация на сайте разработчиков. | + | * [http://www.1gb.ru/default.aspx?ti=6&hti=36 Проблема тайм-аута при http upload] (рус.) - статья в базе знаний хостинга 1Gb.ru. |
+ | * [http://www.1gb.ru/default.aspx?ti=6&hti=23 Конфигурирование PHP через .htaccess] (рус.) - статья в базе знаний хостинга 1Gb.ru. | ||
+ | * [http://ru.php.net/manual/en/ini.list.php Список параметров PHP] (англ.) - документация на сайте разработчиков. | ||
[[Категория:Программирование]] | [[Категория:Программирование]] |
Версия 12:05, 28 февраля 2013
Конфигурирование PHP - это полное изменение или дополнение системных настроек интерпретатора PHP.
Внимание! На хостинге 1Gb.ru конфигурация PHP настроена таким образом, чтобы максимально обеспечить режим совместимости со всеми популярными скриптами и зачастую нет необходимости изменять предустановленные параметры.
Содержание |
Общие сведения
Известны три способа конфигурирования PHP.
через .htaccess (если PHP работает в режиме модуля)
Параметры прописываются в файле .htaccess, отсутствует знак = и каждому параметру PHP предшествует специальное слово: php_value или php_flag.
- php_flag - указывается тогда, когда параметр PHP может принимать в качестве значения только истина или ложь (1 или 0, true или false, On или Off);
- php_value - указывается во всех остальных случаях, например, когда параметр PHP принимает цифровое, строковое значение;
Пример:
php_flag allow_url_fopen On
php_value post_max_size 256M
php_flag register_globals Off
php_value error_reporting 'E_ALL & ~E_NOTICE'
через функцию PHP ini_set()
Вызов данной функции удобно располагать в каком-нибудь конфигурационном скрипте, например, там где прописаны параметры к БД. Подробнее см. описание данной функции на сайте разработчиков ini_set().
Пример:
ini_set('display_errors', '1');
собственный php.ini (если PHP работает в режиме CGI/FastCGI)
В данном случае свой php.ini ничем не отличается по синтаксису от системного.
Пример:
allow_url_fopen = on
post_max_size = 256M
magic_quotes_gpc = on
magic_quotes_runtime = off
register_globals = on
error_reporting = E_ALL & ~E_NOTICE
Свой php.ini полностью заменяет системный, поэтому вместо создания нового файла нужно скопировать системный и править его. Скопировать системный php.ini можно через ssh, выполнив команду:
$ cp -v /opt/hostpublic/etc/php$(awk '/exec/ {system ($2" -v | grep -o \"5\\.[[:digit:]]\\+\"")}' ~/.fast-php/fast-php)_aux1/php.ini ~/.php/
Как и где менять
Windows / IIS
В такой конфигурации PHP работает только как CGI приложение.
- через собственный php.ini (изменения в него может вносить только тех. поддержка хостинга);
- через функцию ini_set();
Windows / Apache
На данной платформе PHP всегда работает как модуль к WEB-серверу Apache.
- через файл .htaccess;
- через функцию ini_set();
Изменения вступают в силу сразу.
UNIX / Apache
На данной платформе PHP может работать в трех режимах, нужный режим, равно как и тип используемого сервера можно выбрать в разделе личного кабинета /Управление сайтами и серверами/.
UNIX / Apache - mod_php
- через файл .htaccess;
- через функцию ini_set();
- через собственный конфигурационный файл, расположенный в ~/.php/php.ini (по запросу через службу поддержки)
Изменения вступают в силу сразу.
UNIX / Apache - CGI
- через собственный конфигурационный файл, расположенный в ~/.php/php.ini
Внимание! Собственный php.ini полностью перезаписывает системные настройки, указав в нем всего лишь одну директиву, вы сбросите все установки PHP в исходное состояние, например, это повлечет за собой отключение Zend Optimizer, ionCube и т.п.). Чтобы этого не произошло, нужно скопировать системный php.ini в свой домашний каталог (см. выше).
- через функцию ini_set();
Изменения вступают в силу сразу в обоих случаях.
UNIX / Apache - FastCGI
- полностью аналогично CGI, за исключением того, что изменения сделанные с помощью собственного php.ini вступают в силу от 10 минут до 1-ого часа (в зависимости от того, как скоро будет перезапущено FastCGI приложение);
Примечание. Можно ускорить вступление изменений в силу выполнив команду в шелл:
$ killall -9 php php-cgi
PROSTO.1Gb.ru
- через функцию ini_set();
Далеко не все параметры можно изменить через ini_set
, поэтому если настройки тарифного плана Вам не подходят, то необходимо сменить тариф на «Основной+» или выше.
Также посмотрите эту статью Эмуляция auto prepend file на prosto.1gb.ru
См. также
Ссылки
- Проблема тайм-аута при http upload (рус.) - статья в базе знаний хостинга 1Gb.ru.
- Конфигурирование PHP через .htaccess (рус.) - статья в базе знаний хостинга 1Gb.ru.
- Список параметров PHP (англ.) - документация на сайте разработчиков.