Конфигурирование PHP

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 16:06, 24 июня 2008 (править)
Dmih (Обсуждение | вклад)
м (Правки 89.208.20.114 (обсуждение) откачены к версии 83.167.113.27)
← К предыдущему изменению
Версия 08:41, 14 августа 2008 (править) (отменить)
Teak (Обсуждение | вклад)
(SAPI (mod_php))
К следующему изменению →
Строка 72: Строка 72:
<code>killall -q php >/dev/null 2>&1</code> <code>killall -q php >/dev/null 2>&1</code>
-=== SAPI (mod_php) ===+=== mod_php ===
* полностью аналогично '''Apache/Windows'''; * полностью аналогично '''Apache/Windows''';
== Ссылки == == Ссылки ==
* [http://ru2.php.net/manual/ru/ini.php Список параметров PHP] - документация на сайте разработчиков. * [http://ru2.php.net/manual/ru/ini.php Список параметров PHP] - документация на сайте разработчиков.

Версия 08:41, 14 августа 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.

  1. php_flag - указывается тогда, когда параметр PHP может принимать в качестве значения только истина или ложь (1 или 0, true или false, On или Off);
  2. 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 приложение.

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;

Ссылки

Личные инструменты