Конфигурирование PHP
Материал из 1GbWiki.
Версия 21:32, 2 марта 2009 (править) Dmih (Обсуждение | вклад) ← К предыдущему изменению |
Версия 21:39, 2 марта 2009 (править) (отменить) Dmih (Обсуждение | вклад) К следующему изменению → |
||
Строка 10: | Строка 10: | ||
Известны три способа конфигурирования PHP. | Известны три способа конфигурирования PHP. | ||
- | * собственный php.ini (PHP работает в режиме CGI/FastCGI) | ||
- | В данном случае свой php.ini ничем не отличается по синтаксису от системного.<br /> | ||
- | '''Пример:''' | ||
- | ---- | ||
- | <code>allow_url_fopen = On<br /> | ||
- | post_max_size = 256M<br /> | ||
- | Magic_Quotes_Gpc = on<br /> | ||
- | register_globals = on<br /> | ||
- | error_reporting = E_ALL & ~E_NOTICE</code> | ||
- | ---- | ||
- | + | === через файл конфигурации WEB-сервера Apache .htaccess (PHP работает в режиме модуля) === | |
- | + | Параметры прописываются в файле .htaccess, отсутствует знак '''=''' и каждому параметру PHP предшествует специальное слово: '''php_value''' или '''php_flag'''. | |
# '''php_flag''' - указывается тогда, когда параметр PHP может принимать в качестве значения только '''истина''' или '''ложь''' ('''1''' или '''0''', '''true''' или '''false''', '''On''' или '''Off'''); | # '''php_flag''' - указывается тогда, когда параметр PHP может принимать в качестве значения только '''истина''' или '''ложь''' ('''1''' или '''0''', '''true''' или '''false''', '''On''' или '''Off'''); | ||
# '''php_value''' - указывается во всех остальных случаях, например, когда параметр PHP принимает цифровое, строковое значение; | # '''php_value''' - указывается во всех остальных случаях, например, когда параметр PHP принимает цифровое, строковое значение; | ||
Строка 35: | Строка 25: | ||
- | + | === через функцию PHP ''ini_set()'' === | |
Вызов данной функции удобно располагать в каком-нибудь конфигурационном скрипте, например, там где прописаны параметры к БД. | Вызов данной функции удобно располагать в каком-нибудь конфигурационном скрипте, например, там где прописаны параметры к БД. | ||
Подробнее см. описание данной функции на сайте разработчиков [http://php.net/ini_set ''ini_set()'']. | Подробнее см. описание данной функции на сайте разработчиков [http://php.net/ini_set ''ini_set()'']. | ||
- | + | === собственный php.ini (PHP работает в режиме CGI/FastCGI) === | |
+ | В данном случае свой php.ini ничем не отличается по синтаксису от системного.<br /> | ||
+ | '''Пример:''' | ||
+ | ---- | ||
+ | <code>allow_url_fopen = On<br /> | ||
+ | post_max_size = 256M<br /> | ||
+ | Magic_Quotes_Gpc = on<br /> | ||
+ | register_globals = on<br /> | ||
+ | error_reporting = E_ALL & ~E_NOTICE</code> | ||
+ | ---- | ||
- | == | + | |
+ | == Как и где менять == | ||
+ | |||
+ | |||
+ | === Windows / IIS === | ||
В такой конфигурации PHP работает только как CGI приложение. | В такой конфигурации PHP работает только как CGI приложение. | ||
* через собственный php.ini (изменения в него может вносить только [http://www.1gb.ru/about_support.php тех. поддержка хостинга]); | * через собственный php.ini (изменения в него может вносить только [http://www.1gb.ru/about_support.php тех. поддержка хостинга]); | ||
* через функцию ''ini_set()''; | * через функцию ''ini_set()''; | ||
- | == | + | |
+ | === Windows / Apache === | ||
На данной платформе PHP всегда работает как модуль к WEB-серверу Apache. | На данной платформе PHP всегда работает как модуль к WEB-серверу Apache. | ||
Строка 54: | Строка 58: | ||
Изменения вступают в силу сразу. | Изменения вступают в силу сразу. | ||
- | == | + | |
+ | === UNIX / Apache === | ||
На данной платформе PHP может работать в трех режимах, нужный режим, равно как и тип используемого сервера можно выбрать в разделе личного кабинета /Управление сайтами и серверами/. | На данной платформе PHP может работать в трех режимах, нужный режим, равно как и тип используемого сервера можно выбрать в разделе личного кабинета /Управление сайтами и серверами/. | ||
- | === CGI === | + | |
+ | ==== UNIX / Apache - mod_php ==== | ||
+ | * полностью аналогично '''Apache/Windows'''; | ||
+ | |||
+ | |||
+ | ==== UNIX / Apache - CGI ==== | ||
* через собственный конфигурационный файл, расположенный в .php/php.ini в корне вашего домашнего каталога; | * через собственный конфигурационный файл, расположенный в .php/php.ini в корне вашего домашнего каталога; | ||
---- | ---- | ||
Строка 67: | Строка 77: | ||
Изменения вступают в силу сразу в обоих случаях. | Изменения вступают в силу сразу в обоих случаях. | ||
- | === FastCGI === | + | |
+ | ==== UNIX / Apache - FastCGI ==== | ||
* полностью аналогично '''CGI''', за исключением того, что изменения сделанные с помощью собственного php.ini вступают в силу в течение 1-3 часов (в зависимости от как скоро будет перезапущено FastCGI приложение); | * полностью аналогично '''CGI''', за исключением того, что изменения сделанные с помощью собственного php.ini вступают в силу в течение 1-3 часов (в зависимости от как скоро будет перезапущено FastCGI приложение); | ||
Строка 73: | Строка 84: | ||
<code>killall -q php >/dev/null 2>&1</code> | <code>killall -q php >/dev/null 2>&1</code> | ||
- | === mod_php === | ||
- | * полностью аналогично '''Apache/Windows'''; | ||
== Ссылки == | == Ссылки == |
Версия 21:39, 2 марта 2009
Конфигурирование PHP - это полное изменение или дополнение системных настроек интерпретатора PHP.
Внимание! На хостинге 1Gb.ru конфигурация PHP настроена таким образом, чтобы максимально обеспечить режим совместимости со всеми популярными скриптами и зачастую нет необходимости изменять предустановленные параметры.
Содержание |
Общие сведения
Известны три способа конфигурирования PHP.
через файл конфигурации WEB-сервера Apache .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().
собственный php.ini (PHP работает в режиме CGI/FastCGI)
В данном случае свой php.ini ничем не отличается по синтаксису от системного.
Пример:
allow_url_fopen = On
post_max_size = 256M
Magic_Quotes_Gpc = on
register_globals = on
error_reporting = E_ALL & ~E_NOTICE
Как и где менять
Windows / IIS
В такой конфигурации PHP работает только как CGI приложение.
- через собственный php.ini (изменения в него может вносить только тех. поддержка хостинга);
- через функцию ini_set();
Windows / Apache
На данной платформе PHP всегда работает как модуль к WEB-серверу Apache.
- через файл .htaccess;
- через функцию ini_set();
Изменения вступают в силу сразу.
UNIX / Apache
На данной платформе PHP может работать в трех режимах, нужный режим, равно как и тип используемого сервера можно выбрать в разделе личного кабинета /Управление сайтами и серверами/.
UNIX / Apache - mod_php
- полностью аналогично Apache/Windows;
UNIX / Apache - CGI
- через собственный конфигурационный файл, расположенный в .php/php.ini в корне вашего домашнего каталога;
Внимание! Собственный php.ini полностью перезаписывает системные настройки, т.о. указав в нем всего лишь одну директиву, вы сбросите в значения по-умолчанию и все остальные (это повлечет за собой отключение Zend Optimizer, ionCube и т.п.). Поэтому, вы можете скопировать в свой каталог .php общесистемный файл из /etc/php/php.ini и внести в него необходимые изменения.
- через функцию ini_set();
Изменения вступают в силу сразу в обоих случаях.
UNIX / Apache - FastCGI
- полностью аналогично CGI, за исключением того, что изменения сделанные с помощью собственного php.ini вступают в силу в течение 1-3 часов (в зависимости от как скоро будет перезапущено FastCGI приложение);
Примечание. Можно ускорить вступление изменений в силу выполнив команду в шелл:
killall -q php >/dev/null 2>&1
Ссылки
- Список параметров PHP - документация на сайте разработчиков.