Как постепенно обновить PHP на нескольких сайтах на одном сервере?

268
dave

У меня есть набор сайтов на базе PHP, размещенных на одном сервере Linux, для которого мне нужно обновить PHP. Тем не менее, поскольку некоторые из сайтов являются QA / staging, а другие - производственными, я должен делать это постепенно.

То есть я хотел бы, чтобы сайты QA сначала шли, чтобы я мог проверить, что обновление PHP ничего не нарушает, прежде чем приступить к работе. Какой лучший способ пойти по этому поводу?

Все сайты обслуживаются через Apache и имеют собственный файл vhost.

Я представляю, что могу (каким-то образом) установить новую версию PHP в определенной точке и через конфигурацию (Apache? Vhost?) Указать, что сайт использует эту версию PHP (а не ту, что в /usr/bin/php).

Рассматриваемые версии PHP довольно старые: на данный момент я обновляю PHP 5.3 до 5.4. Хотя (очевидно) мне нужно довольно скоро добраться до 5.6. Так что я после процесса, который я могу использовать повторно.

0
Это будет довольно сложно - и, вероятно, вызовет больше проблем, чем решит, если это даже выполнимо. Лучшим решением может быть переместить сайты QA в виртуальную машину, на которой сначала установлена ​​более новая версия PHP, и посмотреть, как она работает. Альтернативой может быть запуск 2 версий веб-сервера на разных портах (или IP-адресах, обеспечивающих привязку сервера только к соответствующим), но это будет сложно и может привести к поломке. davidgo 8 лет назад 0

1 ответ на вопрос

1
JakeGould

У меня есть набор сайтов на базе 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: не нужно беспокоиться об обновлениях, пока они действительно не потребуются.

Похожие вопросы