В настоящее время у меня установлен и настроен PHP v5.3.3. Все работает отлично, но я хотел бы поддерживать PHP в актуальном состоянии и обновляться до v5.3.4. Может ли кто-нибудь описать обычный процесс обновления PHP при компиляции вручную?
Например: это так же просто, как загрузить новейший исходный код, распаковать его, скомпилировать с использованием тех же (или сопоставимых) параметров, которые использовались в последней версии?
Есть ли что-нибудь, что нужно удалить или изменить из установленной предыдущей версии?
Я ничего не понимаю. Пожалуйста помоги!
Редактировать:
Я думаю, что общее мнение - резервное копирование, попробуйте его на тестовом сервере и задокументируйте все. Спасибо за все ваши отзывы!
Это так же просто, как загрузить новейший исходный код, распаковать его, скомпилировать с использованием тех же (или сопоставимых) параметров, которые использовались в последней версии?
Это может сработать. Вы документировали процедуру? Если вы создали какие-либо расширения PECL или скомпилировали какие-либо другие модули PHP, вам может потребоваться их перестроить.
Вы читали журнал изменений PHP и примечания к обновлению, чтобы узнать, есть ли какие-либо примечания от апстрима, о которых вам следует знать?
Если у вас нет хорошей документации о том, как вы создали / установили текущую версию и какие еще изменения вы внесли в систему, тогда вы действительно не можете знать наверняка.
Просто попробуйте построить на тестовой машине и протестируйте свои приложения. Если все работает, то это то, что вам нужно сделать.
Если у вас нет тестовой среды / виртуальной машины, сначала создайте ее. Если у вас нет системы резервного копирования для возврата к настройке, если / когда обновление производственной системы не удается, настройте ее прямо сейчас. Если у вас нет документации о том, как она была построена в прошлый раз, напишите ее.
Есть ли что-нибудь, что нужно удалить или изменить из установленной предыдущей версии?
Возможно, это во многом зависит от того, чем вы занимались в прошлом.
Самостоятельная компиляция, пока ничего не знает, на мой взгляд, плохая идея. Вы подписаны на все списки безопасности? У вас есть веская причина, по которой вы не используете упакованную версию?
Рассматривали ли вы использование инструментов управления пакетами в вашей системе и создание локального пакета? Создание локального пакета - хороший идеальный вариант.
Если вы не хотите разбираться в том, как использовать инструменты пакета для вашей ОС, по крайней мере, подумайте о написании скрипта для выполнения компиляции / установки. Этот сценарий будет вашей документацией и единственным истинным источником для процедуры установки.
Первый шаг: прочтите примечания к выпуску. Это сообщит вам о любых серьезных изменениях, о которых вы обязательно должны знать. Например, обратите внимание на параметр follow_location для потоков http и новый параметр, добавленный в get_html_translation_table.
Второй шаг: прочтите журнал изменений. Найдите в нем функции и модули, которые вы используете, особенно посмотрите список исправленных ошибок. Это скажет вам, были ли какие-то небольшие изменения, которые могут повлиять на вас, но разработчики не сочли нужным публиковать новости на первой полосе.
Что касается остального, сделайте резервную копию ваших текущих файлов php (я думаю, что файлы php.ini, модули PHP, исполняемые файлы cgi и / или mod_php5.so должны охватывать все), затем скомпилируйте и установите (задокументируйте, какие файлы созданы с помощью make install, чтобы вы могли посмотрите, какие файлы нужно скопировать в следующий раз). Если что-то не работает, вы можете вернуть резервные копии файлов php (вы собираетесь протестировать это на тестовом сервере, верно?)