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

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

(Различия между версиями)
Перейти к: навигация, поиск
Версия 15:05, 24 декабря 2015 (править)
Zaputr (Обсуждение | вклад)
(Собственный php.ini (если PHP работает в режиме CGI/FastCGI))
← К предыдущему изменению
Текущая версия (23:42, 9 августа 2018) (править) (отменить)
Chapay (Обсуждение | вклад)
(UNIX / Apache - CGI/FastCGI)
 
(4 промежуточные версии не показаны)
Строка 3: Строка 3:
---- ----
-'''Внимание!''' На хостинге [http://www.1gb.ru 1Gb.ru] конфигурация PHP настроена таким образом, чтобы максимально обеспечить режим совместимости со всеми популярными скриптами и зачастую нет необходимости изменять предустановленные параметры.+'''Внимание!''' На хостинге [http://www.1gb.ua 1Gb.ua] конфигурация PHP настроена таким образом, чтобы максимально обеспечить режим совместимости со всеми популярными скриптами и зачастую нет необходимости изменять предустановленные параметры.
---- ----
Строка 46: Строка 46:
Собственный php.ini не дополняет настройки системного php.ini, поэтому прописав в своем php.ini только одну строку, все остальные параметры будут сброшены в значение по умолчанию. Чтобы этого не произошло, нужно скопировать системный php.ini в свой домашний каталог и уже в него вносить изменения. Скопировать правильный php.ini можно такой командой в консоли SSH: Собственный php.ini не дополняет настройки системного php.ini, поэтому прописав в своем php.ini только одну строку, все остальные параметры будут сброшены в значение по умолчанию. Чтобы этого не произошло, нужно скопировать системный php.ini в свой домашний каталог и уже в него вносить изменения. Скопировать правильный php.ini можно такой командой в консоли SSH:
- $ <nowiki>cp -v /opt/hostpublic/etc/php$(awk '/exec/ {system ($2" -v | grep -m 1 -o \"5\\.[[:digit:]]\\+\"")}' ~/.fast-php/fast-php)_aux1/php.ini ~/.php/</nowiki>+ $ <nowiki>cp -v /opt/hostpublic/etc/php$(awk '/exec/ {system ($2" -v | grep -m 1 -o \"[[:digit:]]\\.[[:digit:]]\\+\"")}' ~/.fast-php/fast-php)_aux1/php.ini ~/.php/</nowiki>
<br /> <br />
<br /> <br />
Строка 55: Строка 55:
=== Windows / IIS === === Windows / IIS ===
В такой конфигурации PHP работает только как CGI приложение. В такой конфигурации PHP работает только как CGI приложение.
-* через собственный php.ini (изменения в него может вносить только [http://www.1gb.ru/about_support.php тех. поддержка хостинга]);+* через собственный php.ini (изменения в него может вносить только [http://www.1gb.ua/about_support.php тех. поддержка хостинга]);
* через функцию ''ini_set()''; * через функцию ''ini_set()'';
- 
=== Windows / Apache === === Windows / Apache ===
Строка 85: Строка 84:
'''ВНИМАНИЕ!''' Собственный php.ini полностью перезаписывает системные настройки, указав в нем всего лишь одну директиву, вы сбросите все установки PHP в исходное состояние, например, это повлечет за собой отключение Zend Optimizer, ionCube и т.п.). Чтобы этого не произошло, нужно скопировать системный php.ini в свой домашний каталог и в него вносить изменения. Скопировать можно такой командой: '''ВНИМАНИЕ!''' Собственный php.ini полностью перезаписывает системные настройки, указав в нем всего лишь одну директиву, вы сбросите все установки PHP в исходное состояние, например, это повлечет за собой отключение Zend Optimizer, ionCube и т.п.). Чтобы этого не произошло, нужно скопировать системный php.ini в свой домашний каталог и в него вносить изменения. Скопировать можно такой командой:
- $ <nowiki>cp -v /opt/hostpublic/etc/php$(awk '/exec/ {system ($2" -v | grep -o \"5\\.[[:digit:]]\\+\"")}' ~/.fast-php/fast-php)_aux1/php.ini ~/.php/</nowiki>+ $ <nowiki>cp -v /opt/hostpublic/etc/php$(awk '/exec/ {system ($2" -v | grep -m 1 -o \"[[:digit:]]\\.[[:digit:]]\\+\"")}' ~/.fast-php/fast-php)_aux1/php.ini ~/.php/</nowiki>
<br /> <br />
Строка 95: Строка 94:
<br /> <br />
-===== PROSTO.1Gb.ru =====+===== PROSTO.1Gb.ua =====
* через функцию ini_set(); * через функцию ini_set();
Далеко не все параметры можно изменить через <code>ini_set</code>, поэтому если настройки тарифного плана Вам не подходят, то необходимо установить тариф обычного хостинга.<br /> Далеко не все параметры можно изменить через <code>ini_set</code>, поэтому если настройки тарифного плана Вам не подходят, то необходимо установить тариф обычного хостинга.<br />
-Также посмотрите эту статью [[Эмуляция auto prepend file на prosto.1gb.ru]]+Также посмотрите эту статью [[Эмуляция auto prepend file на prosto.1gb.ua]]
<br /> <br />
Строка 107: Строка 106:
== Ссылки == == Ссылки ==
-* [http://www.1gb.ru/default.aspx?ti=6&hti=36 Проблема тайм-аута при http upload] (рус.) - статья в базе знаний хостинга 1Gb.ru.+* [http://www.1gb.ua/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://www.1gb.ua/default.aspx?ti=6&hti=23 Конфигурирование PHP через .htaccess] (рус.) - статья в базе знаний хостинга 1Gb.ru.
* [http://ru.php.net/manual/en/ini.list.php Список параметров PHP] (англ.) - документация на сайте разработчиков. * [http://ru.php.net/manual/en/ini.list.php Список параметров PHP] (англ.) - документация на сайте разработчиков.

Текущая версия

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



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



Содержание

[править] Общие сведения

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


[править] Через .htaccess (если PHP работает в режиме модуля к Apache)

Параметры прописываются в файле .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)

Пример:

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, поэтому прописав в своем php.ini только одну строку, все остальные параметры будут сброшены в значение по умолчанию. Чтобы этого не произошло, нужно скопировать системный php.ini в свой домашний каталог и уже в него вносить изменения. Скопировать правильный php.ini можно такой командой в консоли SSH:

 $ cp -v /opt/hostpublic/etc/php$(awk '/exec/ {system ($2" -v | grep -m 1 -o \"[[:digit:]]\\.[[: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/FastCGI
  • через функцию ini_set();
  • через собственный php.ini, расположенный в ~/.php/php.ini


ВНИМАНИЕ! Собственный php.ini полностью перезаписывает системные настройки, указав в нем всего лишь одну директиву, вы сбросите все установки PHP в исходное состояние, например, это повлечет за собой отключение Zend Optimizer, ionCube и т.п.). Чтобы этого не произошло, нужно скопировать системный php.ini в свой домашний каталог и в него вносить изменения. Скопировать можно такой командой:

$ cp -v /opt/hostpublic/etc/php$(awk '/exec/ {system ($2" -v | grep -m 1 -o \"[[:digit:]]\\.[[:digit:]]\\+\"")}' ~/.fast-php/fast-php)_aux1/php.ini ~/.php/


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

Примечание. Можно ускорить вступление изменений в силу выполнив команду в шелле:

$ killall -9 php php-cgi


[править] PROSTO.1Gb.ua
  • через функцию ini_set();

Далеко не все параметры можно изменить через ini_set, поэтому если настройки тарифного плана Вам не подходят, то необходимо установить тариф обычного хостинга.

Также посмотрите эту статью Эмуляция auto prepend file на prosto.1gb.ua

[править] См. также

[править] Ссылки

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