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

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

(Различия между версиями)
Перейти к: навигация, поиск
Версия 11:34, 28 февраля 2013 (править)
Renton (Обсуждение | вклад)
(UNIX / Apache - CGI)
← К предыдущему изменению
Версия 11:39, 28 февраля 2013 (править) (отменить)
Renton (Обсуждение | вклад)
(UNIX / Apache - FastCGI)
К следующему изменению →
Строка 83: Строка 83:
==== UNIX / Apache - FastCGI ==== ==== UNIX / Apache - FastCGI ====
-* полностью аналогично '''CGI''', за исключением того, что изменения сделанные с помощью собственного php.ini вступают в силу в течение 10 минут до 1-ого часа (в зависимости от того, как скоро будет перезапущено FastCGI приложение);+* полностью аналогично '''CGI''', за исключением того, что изменения сделанные с помощью собственного php.ini вступают в силу от 10 минут до 1-ого часа (в зависимости от того, как скоро будет перезапущено FastCGI приложение);
 + 
 +''Примечание''. Можно ускорить вступление изменений в силу выполнив команду в шелл:
 + $ killall -9 php php-cgi
-''Примечание''. Можно ускорить вступление изменений в силу выполнив команду в шелл:<br /> 
-<code>killall -q php >/dev/null 2>&1</code> 
-  
-  
==== PROSTO.1Gb.ru ==== ==== PROSTO.1Gb.ru ====
Изменение конфигурации PHP на тарифе PROSTO.1gb.ru невозможно. В случае, если стандартные настройки Вам не подходят, необходимо сменить тариф на «Основной+» или выше. Изменение конфигурации PHP на тарифе PROSTO.1gb.ru невозможно. В случае, если стандартные настройки Вам не подходят, необходимо сменить тариф на «Основной+» или выше.

Версия 11:39, 28 февраля 2013

Конфигурирование PHP - это полное изменение или дополнение системных настроек интерпретатора PHP.



Внимание! На хостинге 1Gb.ru конфигурация PHP настроена таким образом, чтобы максимально обеспечить режим совместимости со всеми популярными скриптами и зачастую нет необходимости изменять предустановленные параметры.



Содержание

Общие сведения

Известны три способа конфигурирования PHP.


через .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().


собственный 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 приложение.


Windows / Apache

На данной платформе PHP всегда работает как модуль к WEB-серверу Apache.

  • через файл .htaccess;
  • через функцию ini_set();

Изменения вступают в силу сразу.


UNIX / Apache

На данной платформе PHP может работать в трех режимах, нужный режим, равно как и тип используемого сервера можно выбрать в разделе личного кабинета /Управление сайтами и серверами/.


UNIX / Apache - mod_php

  • через файл .htaccess;
  • через функцию ini_set();

Изменения вступают в силу сразу.

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

Изменение конфигурации PHP на тарифе PROSTO.1gb.ru невозможно. В случае, если стандартные настройки Вам не подходят, необходимо сменить тариф на «Основной+» или выше.

Возможны только эмуляции, например: Эмуляция auto prepend file на prosto.1gb.ru


Ссылки

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