Php/conf

Материал из ALT Linux Wiki
< Php
Версия от 19:05, 28 июля 2008; PhpCoder (обсуждение | вклад) (Import from freesource.info)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Введение

В последнее время язык PHP приобрел большую популярность. Он "заразил" множество рабочих станций и web-серверов. К этому можно относиться по разному, но ясно одно - этот язык применяется во множестве проектов и для самых разных задач. Следовательно, нужен механизм для удобного конфигурирования этого языка.

Структура

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

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

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

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

Реализация

Для осуществления задуманного была создана следующая структура расположения конфигурационных файлов:

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

где, как не трудно, догадаться: EXTENSION - имя модуля расширения. VERSION - версия php. SAPI - название SAPI.

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

Если вам не нравится расположение директории php.d, вы всегда можете переопределить это место хранения дополнительных конфигурационных файлов с помощью директивы - alt_sapi_config_ini_scan_dir .