Конфигурирование PHP
Материал из 1GbWiki.
Версия 07:53, 17 ноября 2008 (править) 84.244.189.99 (Обсуждение) (tCtWymolG) ← К предыдущему изменению |
Версия 07:58, 17 ноября 2008 (править) (отменить) Dmach (Обсуждение | вклад) К следующему изменению → |
||
Строка 1: | Строка 1: | ||
- | http:// | + | '''Конфигурирование PHP''' - это полное изменение или дополнение системных настроек интерпретатора [http://ru.wikipedia.org/wiki/PHP PHP]. |
+ | |||
+ | |||
+ | ---- | ||
+ | '''Внимание!''' На хостинге [http://www.1gb.ru 1Gb.ru] конфигурация PHP настроена таким образом, чтобы максимально обеспечить режим совместимости со всеми популярными скриптами и зачастую нет необходимости изменять предустановленные параметры. | ||
+ | ---- | ||
+ | |||
+ | |||
+ | == Общие сведения == | ||
+ | |||
+ | Известны три способа конфигурирования PHP. | ||
+ | * собственный php.ini (PHP работает в режиме CGI/FastCGI) | ||
+ | В данном случае свой php.ini ничем не отличается по синтаксису от системного.<br /> | ||
+ | '''Пример:''' | ||
+ | ---- | ||
+ | <code>allow_url_fopen = On<br /> | ||
+ | post_max_size = 256M<br /> | ||
+ | register_globals = Off<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_value''' - указывается во всех остальных случаях, например, когда параметр PHP принимает цифровое, строковое значение; | ||
+ | '''Пример:''' | ||
+ | ---- | ||
+ | <code>php_flag allow_url_fopen On<br /> | ||
+ | php_value post_max_size 256M<br /> | ||
+ | php_flag register_globals Off<br /> | ||
+ | php_value error_reporting 'E_ALL & ~E_NOTICE'</code> | ||
+ | ---- | ||
+ | |||
+ | |||
+ | * через функцию PHP ''ini_set()'' | ||
+ | Вызов данной функции удобно располагать в каком-нибудь конфигурационном скрипте, например, там где прописаны параметры к БД. | ||
+ | Подробнее см. описание данной функции на сайте разработчиков [http://php.net/ini_set ''ini_set()'']. | ||
+ | |||
+ | |||
+ | В зависимости от используемого типа WEB-сервера ([http://ru.wikipedia.org/wiki/IIS IIS] / [http://ru.wikipedia.org/wiki/Apache Apache]), а также платформы ([http://ru.wikipedia.org/wiki/Windows Windows] / [http://ru.wikipedia.org/wiki/UNIX UNIX]), изменение конфигурации PHP может происходить тем или иным способом. | ||
+ | |||
+ | == IIS/Windows == | ||
+ | В такой конфигурации PHP работает только как CGI приложение. | ||
+ | * через собственный php.ini (изменения в него может вносить только [http://www.1gb.ru/about_support.php тех. поддержка хостинга]); | ||
+ | * через функцию ''ini_set()''; | ||
+ | |||
+ | == Apache/Windows == | ||
+ | На данной платформе PHP всегда работает как модуль к WEB-серверу Apache. | ||
+ | |||
+ | * через файл .htaccess; | ||
+ | * через функцию ''ini_set()''; | ||
+ | Изменения вступают в силу сразу. | ||
+ | |||
+ | == Apache/UNIX== | ||
+ | На данной платформе PHP может работать в трех режимах, нужный режим, равно как и тип используемого сервера можно выбрать в разделе личного кабинета /Управление сайтами и серверами/. | ||
+ | |||
+ | === CGI === | ||
+ | * через собственный конфигруационный файл, расположенный в .php/php.ini в корне вашего домашнего каталога; | ||
+ | ---- | ||
+ | '''Внимание!''' Собственный php.ini полностью перезаписывает системные настройки, т.о. указав в нем всего лишь одну директиву, вы сбросите в значения по-умолчанию и все остальные (это повлечет за собой отключение Zend Optimizer, ionCube и т.п.). Поэтому, вы можете скопировать в свой каталог .php общесистемный файл из /etc/php/php.ini и внести в него необходимые изменения. | ||
+ | ---- | ||
+ | |||
+ | * через функцию ''ini_set()''; | ||
+ | |||
+ | Изменения вступают в силу сразу в обоих случаях. | ||
+ | |||
+ | === FastCGI === | ||
+ | * полностью аналогично '''CGI''', за исключением того, что изменения сделанные с помощью собственного php.ini вступают в силу в течение 1-3 часов (в зависимости от как скоро будет перезапущено FastCGI приложение); | ||
+ | |||
+ | ''Примечание''. Можно ускорить вступление изменений в силу выполнив команду в шелл:<br /> | ||
+ | <code>killall -q php >/dev/null 2>&1</code> | ||
+ | |||
+ | === mod_php === | ||
+ | * полностью аналогично '''Apache/Windows'''; | ||
+ | |||
+ | == Ссылки == | ||
+ | * [http://ru2.php.net/manual/ru/ini.php Список параметров PHP] - документация на сайте разработчиков. | ||
+ | |||
+ | [[Категория:Настройка программ]] |
Версия 07:58, 17 ноября 2008
Конфигурирование PHP - это полное изменение или дополнение системных настроек интерпретатора PHP.
Внимание! На хостинге 1Gb.ru конфигурация PHP настроена таким образом, чтобы максимально обеспечить режим совместимости со всеми популярными скриптами и зачастую нет необходимости изменять предустановленные параметры.
Содержание |
Общие сведения
Известны три способа конфигурирования PHP.
- собственный php.ini (PHP работает в режиме CGI/FastCGI)
В данном случае свой php.ini ничем не отличается по синтаксису от системного.
Пример:
allow_url_fopen = On
post_max_size = 256M
register_globals = Off
error_reporting = E_ALL & ~E_NOTICE
- через файл конфигурации 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().
В зависимости от используемого типа WEB-сервера (IIS / Apache), а также платформы (Windows / UNIX), изменение конфигурации PHP может происходить тем или иным способом.
IIS/Windows
В такой конфигурации PHP работает только как CGI приложение.
- через собственный php.ini (изменения в него может вносить только тех. поддержка хостинга);
- через функцию ini_set();
Apache/Windows
На данной платформе PHP всегда работает как модуль к WEB-серверу Apache.
- через файл .htaccess;
- через функцию ini_set();
Изменения вступают в силу сразу.
Apache/UNIX
На данной платформе PHP может работать в трех режимах, нужный режим, равно как и тип используемого сервера можно выбрать в разделе личного кабинета /Управление сайтами и серверами/.
CGI
- через собственный конфигруационный файл, расположенный в .php/php.ini в корне вашего домашнего каталога;
Внимание! Собственный php.ini полностью перезаписывает системные настройки, т.о. указав в нем всего лишь одну директиву, вы сбросите в значения по-умолчанию и все остальные (это повлечет за собой отключение Zend Optimizer, ionCube и т.п.). Поэтому, вы можете скопировать в свой каталог .php общесистемный файл из /etc/php/php.ini и внести в него необходимые изменения.
- через функцию ini_set();
Изменения вступают в силу сразу в обоих случаях.
FastCGI
- полностью аналогично CGI, за исключением того, что изменения сделанные с помощью собственного php.ini вступают в силу в течение 1-3 часов (в зависимости от как скоро будет перезапущено FastCGI приложение);
Примечание. Можно ускорить вступление изменений в силу выполнив команду в шелл:
killall -q php >/dev/null 2>&1
mod_php
- полностью аналогично Apache/Windows;
Ссылки
- Список параметров PHP - документация на сайте разработчиков.