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 располагаться конфиги и директории для расширений. > Кстати, использованный метод реализации (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 > Впрочем, основная проблема в наличии в 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 это просто ад. Приходится вручную проверять все изменения >>> и вносить их заново. >>> >> Если происходит обновление по минорной версии, то достаточно >> переместить конфиги. >> > Однако автоматически это не происходит. Можно допустить, что при > обновлении типа 5.2.x -> 5.3.x что-то действительно нужно менять > вручную, но в пределах одной ветки (как сейчас, 5.2.13 -> 5.2.14) > хотелось бы хоть какой-то автоматизации. > > +1 -- WBR, Dubrovskiy Vyacheslav