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

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 13 января 2021 в 11:55
Всех приветствую и поздравляю с наступающим Новым Годом по старому календарному стилю.

Господа, есть вопрос по переводу сайтов на версию PHP 7.2.24 или 7.0.33
Сейчас все сайты у меня стоят на php 5.6.38, решил потихоньку переводить сайты на 7.2.24

Начал перевод с одного маленького сайта. В ispmgr — Режим работы PHP — выбрал CGI, Версия PHP (CGI) 7.2.24.

После этого проверил работу сайта, вроде все работает нормально, но в боковом меню админки стало показывать "Средняя загрузка" 65%, при этом, сайты с php 5.6.38 "Средняя загрузка" 19% — 25%.

Скорей всего проблема может заключаться в том, что в 5.6.38 "Режим работы PHP" установлен — Apache (сервер настроен на работу с Apache), а при изменении версии на 7.2.24 приходится устанавливать Режим работы PHP — CGI, но по другому не получается. Великий Гугл говорит, что PHP 7 теряет все свои преимущества в режиме CGI.

Получается, что в ispmgr надо — "Настройки web-сервиса" — PHP — выбрать версию PHP с возможностью работы в режиме модуля Apache. Но в этом случае я смогу установить режим Apache только в 7.0.33… пусть будет так, если выше 7.0.33 пока не могу выбрать, так как для этого надо обновлять ПО на сервере.

Теперь собственно вопрос:
Каким образом правильно поднять версию PHP и не поломать сайт?


На сервере 3 рабочих проекта, 2 маленьких и 1 сравнительно "большой".
Маленькие сайты я могу скачать утилитой wget, удалить эти два сайта и после обновления PHP заново установить и контент тупо скопировать с скаченных версий на локале. Контента на этих сайтах не много и сторонних дополнений практически нет.
Но каким образом в этом случае обновить основной сайт, вот его я и боюсь поломать. Сайт на версии ICMS 2.13.1, много сторонних дополнений работающих на PHP 5.6, (Биллинг, Инстант видео, и т.п) много контента...
Если я сейчас буду переустанавливать эти компоненты предназначенные для PHP 7, сейчас когда сервер работает на 5.6, сайт наверняка поломается...
Если же я сначала повышу версию PHP на сервере, тогда и переустановить компоненты не смогу, сайт просто не будет работать.

Как быть, как решить эту проблему?
#2 13 января 2021 в 12:46
Возможно имеет смысл делать изменения на локале, тестировать и т.д. Установить WAMP, LAMP, MAMP для разработки сайтов, и менять эти версии php, ковырять, а потом переносить уже на хостинг. XAMPP, какой нибудь под Винду поставить, например, сейчас этого добра много.
#3 13 января 2021 в 12:56
Тестировать на локалке \ поддомене, перенести копию сайта можно не со всей папкой аплоад например. Делать снимок виртуальной машины, бэкапы.
Версии биллинг были:
billing2.0.5_php5.6-7.0
billing2.0.5_php7.1
billing2.0.5_php7.2
Быстрее будет на FastCGI (Nginx + PHP-FPM), но нужен конфигурационный файл. От этого и плясать.
#4 13 января 2021 в 12:58


Возможно имеет смысл делать изменения на локале, тестировать и т.д. Установить WAMP, LAMP, MAMP для разработки сайтов, и менять эти версии php, ковырять, а потом переносить уже на хостинг. XAMPP, какой нибудь под Винду поставить, например, сейчас этого добра много.

@Evg

У меня нет винды, терпеть ненавижу, но не суть… должен быть какой то вариант другой.
#5 13 января 2021 в 13:03

должен быть какой то вариант другой

Scythian
Верный способ делать не на рабочем сервере, а потом когда все будет работать — можно проделать на рабочем, при этом часть времени все равно сайт не будет работать. virtualbox + линукс или ospanel.io и вперед с песней ))
#6 13 января 2021 в 13:04


Тестировать на локалке \ поддомене, перенести копию сайта можно не со всей папкой аплоад например. Делать снимок виртуальной машины, бэкапы.
Версии биллинг были:
billing2.0.5_php5.6-7.0
billing2.0.5_php7.1
billing2.0.5_php7.2
Быстрее будет на FastCGI (Nginx + PHP-FPM), но нужен конфигурационный файл. От этого и плясать.

@noname

Спасибо. Если не найдется других вариантов придется так и сделать.
#7 13 января 2021 в 13:36

У меня нет винды, терпеть ненавижу, но не суть…

Scythian
А что у вас?
#8 13 января 2021 в 13:46

А что у вас?

@IamB

Ubuntu
#9 13 января 2021 в 13:55
Слава Богу разобрался, установил PHP 7.4.14 и все имеющиеся версии PHP сделал доступными в работе как модуль Apache, нативную версию тоже поднял. С сервером вопрос решен.
Осталась основная проблема — В каком порядке обновлять ICMS с дополнениями для работы с повышенными версиями PHP?
#10 13 января 2021 в 13:56

Великий Гугл говорит, что PHP 7 теряет все свои преимущества в режиме CGI

Scythian
Не пихайте всё в одну кучу, CGI, FastCGI, FPM — в деталях это разные принципы работы.
PHP-FPM 7.4 работает в разы быстрее любого варианта PHP-5

Как указали выше, ставьте Nginx + PHP-FPM, версию PHP 7.4
и обновите движок сайта до InstantCMS 2.14.1
#11 13 января 2021 в 13:59


Великий Гугл говорит, что PHP 7 теряет все свои преимущества в режиме CGI

Scythian
Не пихайте всё в одну кучу, CGI, FastCGI, FPM — в деталях это разные принципы работы.
PHP-FPM 7.4 работает в разы быстрее любого варианта PHP-5

Как указали выше, ставьте Nginx + PHP-FPM, версию PHP 7.4
и обновите движок сайта до InstantCMS 2.14.1

Евгений Dublic

Видимо вы не внимательно прочитали основную тему с вопросом, или не правильно поняли.
Nginx + PHP-FPM — все давно установлено, года 2,5 — 3 как…
#12 13 января 2021 в 14:24

Ubuntu

Scythian
Ничего не мешает вам установить на свой компьютер PHP, включая PHP-FPM, MySQL, Nginx. Если вы разберётесь как настроить Nginx, то получите полигон для своих экспериментов. Только не знаю, нужно ли вам это?
#13 13 января 2021 в 14:33


Ubuntu

Scythian
Ничего не мешает вам установить на свой компьютер PHP, включая PHP-FPM, Nginx. Если вы разберётесь как настроить Nginx, то получите полигон для своих экспериментов. Только не знаю, нужно ли вам это?

@IamB

Все установлено. Экспериментировать придется в том случае, если не найдется ответ на вопрос.
#14 13 января 2021 в 15:10

В каком порядке обновлять ICMS с дополнениями для работы с повышенными версиями PHP?

Scythian
Компоненты могут не работать с новой версией cms, нужно чтобы разработчик обновил компонент. Некоторые компоненты могут выдавать ошибки при более новой версии PHP, возможно не работать. В любом случае лучше обновлять cms и компоненты не на рабочем сайте, а на копии (локалка \ поддомен) имея бэкапы с рабочей версией файлов, БД.
#15 13 января 2021 в 15:24

В каком порядке обновлять ICMS с дополнениями для работы с повышенными версиями PHP?

Scythian
Сейчас ни в каком, потому что

Важно! Перед установкой обновления убедитесь, что сторонние дополнения поддерживают новую версию InstantCMS! В противном случае вы рискуете окирпичить свой сайт.

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.