[devel] PHP 5.3.3 [was: Прототипы дизайна интерфейсов Кентавра]

Sergey Vlasov vsu на altlinux.ru
Ср Авг 11 18:09:12 UTC 2010


On Wed, Aug 11, 2010 at 03:58:39PM +0300, Slava Dubrovskiy wrote:
> 10.08.2010 22:01, Sergey Vlasov пишет:
> >
> >>> 2. Зачем конфиги располагаются в версийзависимых директориях?
> >>>       
> >> Чтобы можно было держать несколько php разных версий одновременно.
> >>     
> > Вопрос в том, насколько разных?  Т.е., нужно ли обеспечивать
> > теоретическую возможность наличия рядом, например, 5.2.13 и 5.2.14?
> >   
> Я думаю что такой необходимости нет. Например Cpanel предоставляет 2
> версии (4 и 5 ветки) одновременно, но выбор внутри ветки ограничен одной
> версией. В нашем случае разница между 5.2 и 5.3 достаточно существенна и
> есть необходимость иметь возможность иметь их обе в системе.
> Поэтому поддерживаю Антона в том, чтобы убрать разделение конфигов по
> минорной версии и сделать, например, так:
> /etc/php/5.2
> /etc/php/5.3
> и т.д.
> где будут в подпапках с именем sapi располагаться конфиги и директории
> для расширений.

При этом для разноса конфигураций разных sapi по разным каталогам php
надо патчить; в случае размещения всех файлов php-SAPI.ini для одной
версии рядом в одном каталоге даже патчить не надо (кроме scan_dir).

> > Кстати, использованный метод реализации (php_ini_path_override в
> > каждом sapi) в некоторых случаях ведёт себя не так, как оригинальный
> > (например, если установлена переменная PHPRC, но в указанном там
> > каталоге нет php.ini, системный php.ini не будет найден).  Возможно,
> > применённая схема была не совсем правильной (вместо засовывания
> > каждого sapi в отдельный каталог можно было собирать php с
> > --with-config-file-path=%php5_sysconfdir, а для поддержки отдельных
> > файлов конфигурации для разных sapi создавать там файлы php-SAPI.ini,
> > не трогая стандартный механизм поиска).
> >   
> Что-то подобное сделано в сборке remi. И я попытался воспроизвести
> применительно к АЛЬТ. См. у меня в php53.git

Там вариант с дублированием основной части кода (без вынесения
основной части в libphp)?  Тогда поводов для дополнительных патчей ещё
меньше (можно просто конфигурировать каждый вариант sapi с
индивидуальными параметрами).

> > Впрочем, основная проблема в наличии в php.ini настроек, зависящих от
> > версии php - safe_mode_include_dir, include_path, extension_dir,
> > alt_sapi_config_ini_scan_dir, из-за которых при изменении версии php в
> > любом случае придётся править этот файл.  Причём введение переменной
> > alt_sapi_config_ini_scan_dir, насколько я понял, вызвано главным
> > образом желанием использовать отдельные каталоги для разных sapi (в
> > противном случае хватило бы опять-таки сборки с нужным значением
> > --with-config-file-scan-dir); в принципе это место можно попытаться
> > пропатчить для использования php-SAPI.d и избавиться от переменной в
> > php.ini (которая тоже добавлена патчем).
> >   
> Кстати в .ini который идет в оригинале нет никаких переменных. Т.е.
> нашли на свою голову проблемы.

В оригинале там в примерах настроек нет имён каталогов, зависящих от
версии php; в большинстве дистрибутивов, похоже, этим тоже не
заморачиваются.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20100811/cf3a3803/attachment.bin>


Подробная информация о списке рассылки Devel