Php/conf: различия между версиями

Материал из ALT Linux Wiki
< Php
(Import from freesource.info)
 
Нет описания правки
 
(не показаны 2 промежуточные версии 2 участников)
Строка 1: Строка 1:
[[Category:Devel]]
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/php/conf}}
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/php/conf}}
=== Введение ===
В последнее время язык PHP приобрел большую популярность. Он "заразил" множество рабочих станций и web-серверов. К этому можно относиться по разному, но ясно одно - этот язык применяется во множестве проектов и для самых разных задач. Следовательно, нужен механизм для удобного конфигурирования этого языка.
=== Структура ===
=== Структура ===


Интерпретатор PHP имеет модульную структуру. Модули (extensions) расширяют функциональность языка в ту или иную сторону. Их можно собирать как в составе библиотеки, так и отдельно от неё. Каждый модуль может иметь свои собственные конфигурационные опции.
Интерпретатор PHP имеет модульную структуру. Модули (extensions) расширяют функциональность языка в ту или иную сторону. Их можно собирать как в составе интерпретатора, так и отдельно, в виде разделяемых библиотек. Каждый модуль может иметь свои собственные конфигурационные опции.


Также в PHP существуют интерфейсы к интерпретатору - Server API или SAPI. Так например mod_php и cli (command-line interface) являются интерфейсами к apache и к пользователю соответственно.
Также в PHP существуют интерфейсы к интерпретатору — Server API или SAPI. Так например, mod_php и cli (command-line interface) являются интерфейсами к apache и к пользователю соответственно.


В ALT Linux (может быть где-то ещё) PHP собран таким образом, что сам интерпретатор находится в разделяемой библиотеке. Это позволяет добиться ряда преимуществ.  
В ALT Linux PHP-интерпретатор и расширения собираются в виде разделяемых библиотек. Различные SAPI конфигурируются независимо друг от друга.


Так как SAPI это разные интерфейсы, то было бы логично сделать чтобы они были максимально независимы друг от друга. Например вполне может быть полезным если у каждого SAPI будет разный набор модулей. Или у каждого SAPI будет своя собственная конфигурация.
=== Реализация ===


=== Реализация ===
* <tt>/etc/php/<VERSION>/<SAPI>/php.ini</tt>
* <tt>/etc/php/<VERSION>/<SAPI>/php.d/<EXTENSION>.ini</tt>


Для осуществления задуманного была создана следующая структура расположения конфигурационных файлов:
Как не трудно догадаться,
* <tt>VERSION</tt> — версия php.
* <tt>SAPI</tt> — название SAPI.
* <tt>EXTENSION</tt> — имя модуля расширения.


<tt>/etc/php/<VERSION>/<SAPI>/php.ini</tt>
В начале своей работы SAPI прочитывает сперва свой <tt>php.ini</tt>, а потом все файлы с расширением <tt>.ini</tt> в директории <tt>php.d</tt> . Файлы, не имеющие расширения <tt>.ini</tt>, игнорируются.
<tt>/etc/php/<VERSION>/<SAPI>/php.d/<EXTENSION>.ini</tt>


где, как не трудно, догадаться:
Расположение директории <tt>php.d</tt> для каждого SAPI настраивается с помощью директивы в <tt>php.ini</tt>-файле <tt>alt_sapi_config_ini_scan_dir</tt>.
EXTENSION - имя модуля расширения.
VERSION      - версия php.  
SAPI                - название SAPI.


В начале своей работы SAPI прочитывает сперва свой <tt>php.ini</tt>, а потом все файлы с расширением .ini в директории <tt>php.d</tt> . Файлы, не имеющие расширения .ini игнорируются.


Если вам не нравится расположение директории php.d, вы всегда можете переопределить это место хранения дополнительных конфигурационных файлов с помощью директивы - <tt>alt_sapi_config_ini_scan_dir</tt> .
{{Category navigation|title=PHP|category=PHP|sortkey={{SUBPAGENAME}}}}

Текущая версия от 19:54, 23 декабря 2008

Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.

Структура

Интерпретатор PHP имеет модульную структуру. Модули (extensions) расширяют функциональность языка в ту или иную сторону. Их можно собирать как в составе интерпретатора, так и отдельно, в виде разделяемых библиотек. Каждый модуль может иметь свои собственные конфигурационные опции.

Также в PHP существуют интерфейсы к интерпретатору — Server API или SAPI. Так например, mod_php и cli (command-line interface) являются интерфейсами к apache и к пользователю соответственно.

В ALT Linux PHP-интерпретатор и расширения собираются в виде разделяемых библиотек. Различные SAPI конфигурируются независимо друг от друга.

Реализация

  • /etc/php/<VERSION>/<SAPI>/php.ini
  • /etc/php/<VERSION>/<SAPI>/php.d/<EXTENSION>.ini

Как не трудно догадаться,

  • VERSION — версия php.
  • SAPI — название SAPI.
  • EXTENSION — имя модуля расширения.

В начале своей работы SAPI прочитывает сперва свой php.ini, а потом все файлы с расширением .ini в директории php.d . Файлы, не имеющие расширения .ini, игнорируются.

Расположение директории php.d для каждого SAPI настраивается с помощью директивы в php.ini-файле alt_sapi_config_ini_scan_dir.