Как управлять различными настройками php.ini в производстве и разработке? - PullRequest
2 голосов
/ 22 января 2012

Есть ли лучший способ управления конфигурациями php.ini от разработки до производства? Очевидно, это можно сделать вручную, но это может привести к человеческим ошибкам. Я хотел бы попытаться включить производственный файл в систему управления версиями, а затем, возможно, автоматически изменить версию разработки. У меня были мысли или идеи, которые я не знаю, насколько они осуществимы:

  1. Включает php.ini - просто включите настройки dev в конце файл?
  2. условные загрузки из apache conf?
  3. написать скрипт, который при изменении php.ini генерирует динамическую версию phpdev.ini - (я знаю, что это можно сделать)
  4. использовать настройки php времени выполнения для отображения ошибок - я думаю, что у этого есть ограничения, потому что, если скрипт имеет фатальные ошибки, то он не будет запускать настройку времени выполнения.
  5. план резервного копирования - сохранить рабочую версию в SC и изменить вручную phpdev.ini по мере необходимости по мере необходимости. Тогда, если сделаны ручные ошибки они сделаны на уровне разработки.

Ответы [ 2 ]

1 голос
/ 22 января 2012
  1. Храните свои ini в репозитории исходного кода в разных каталогах, названных в соответствии с их средами: environment / {dev, qa, staging, prod} /php.ini
  2. В каждой среде выполните следующие действия: rm /etc/php.ini; ln -s /var/www/site/environments/prod/php.ini /etc/php.ini

Таким образом, вы получаете преимущества контроля версий, и вам не обязательно редактировать каждый вручную.

0 голосов
/ 14 июня 2013

Я точно не знаю, ищите ли вы это, но лично мне нравится выполнять все не связанные с безопасностью модификации php.ini через настройки виртуального хоста apache, например, виртуальный хост разработки:

    ServerName sb.local
    ServerAlias sb.local
    DocumentRoot /srv/some-site

    php_value session.cookie_domain "sb.local"
php_value date.timezone "America/New_York"
php_value mbstring.func_overload 7
php_value default_charset "utf-8"
AddDefaultCharset utf-8 

php_value session.gc_maxlifetime "990000"
php_value error_reporting 30711
# 30711 = E_ALL ^ E_NOTICE
php_value display_errors "On"
php_value display_startup_errors "On"
php_value log_errors "On"
php_value html_errors "On"

и т.д.

...