У меня есть набор сайтов на базе PHP, размещенных на одном сервере Linux, для которого мне нужно обновить PHP. Тем не менее, поскольку некоторые из сайтов являются QA / staging, а другие - производственными, я должен делать это постепенно. То есть я хотел бы, чтобы сайты QA сначала шли, чтобы я мог проверить, что обновление PHP ничего не нарушает, прежде чем приступить к работе. Какой лучший способ пойти по этому поводу?
Если у вас есть свои QA / промежуточные и производственные серверы, объединенные в один уровень, вы делаете это неправильно. Вы не сможете запустить другую версию PHP для каждого виртуального хоста; это просто одна версия PHP на установку Apache на сервер.
Тем не менее, мой подход к такой настройке, поскольку я сам использую Ubuntu 12.04 (LTS), заключается в создании среды виртуальных машин для настольных компьютеров с использованием VirtualBox или аналогичного программного обеспечения. Убедитесь, что виртуализированные настройки максимально соответствуют вашим текущим настройкам на производственном сервере, и запустите их. Затем, когда у вас на рабочем столе будет правильно запущена эта «песочница», попробуйте обновить PHP.
Это может показаться пугающим, если вы просто со временем собираете сервер, но, честно говоря, программное обеспечение, разработанное для стеков LAMP, может работать где угодно, если база кода, хранилище данных и конфигурация настроены правильно. Я занимаюсь локальной разработкой PHP для Mac OS X (например) и регулярно внедряюсь на сервер Ubuntu без особых забот и мыслей.
Но тогда вы говорите это:
Рассматриваемые версии PHP довольно старые: на данный момент я обновляю PHP 5.3 до 5.4. Хотя (очевидно) мне нужно довольно скоро добраться до 5.6. Так что я после процесса, который я могу использовать повторно.
Я думаю, что вы можете быть чрезмерно обеспокоены нештатной ситуацией, если вы не уверены на 100%, что кодирование для ваших веб-сайтов действительно выиграет от обновления версии PHP.
У меня есть десятки серверов Ubuntu 12.04, развернутых специально для нужд LAMP, подобных вашим, и никто не задумывается над проблемой PHP 5.3, поскольку она технически «старая», но PHP 5.3 считается одной из наиболее стабильных версий PHP. Кроме того, Ubuntu 12.04 - это выпуск LTS (Long Term Service), который поддерживается до апреля 2017 года ; 2 года.
Это означает, в то время как технически номера версии для программного обеспечения в Ubuntu 12.04 будут внешне, кажется, «дата», насколько патчи безопасности идет, обозначение LTS означает, что критические обновления безопасности и таковые будут портированное в PHP 5.3 и подобные пакеты.
Этот вид долгосрочной поддержки является точной причиной, по которой системные администраторы выбирают установки LTS: не нужно беспокоиться об обновлениях, пока они действительно не потребуются.