При выполнении данной задачи предполагается, что у вас уже:
При установке сборки операционной системы Centos с панелью управления Vesta инсталлируется php 5.4, скачивается также репозиторий remi, но он не активен (подробнее о репозиториях и их активации здесь). Проверка текущей версии php производится консольной командой
php –v
В сети можно встретить тестирование сборок ПО на производительность с различными версиями php. Исходя из этой информации, можно сделать вывод, что между версиями 5.5 и 5.6 различий практически нет, но довольно значительная разница между ними и php 5.4 Поэтому выбор в переходе между стабильными последними php 5.5 и 5.6 остается на ваше усмотрение. Но если 5.6 ваш проект полностью не поддерживает, то наверняка не стоит и обновляться.
Обновление php до версии 5.5
Чтобы обновить php до версии 5.5, активируем репозиторий remi и подключаем секцию [remi-php55]. Для этого отредактируем конфигурационный файл remi.repo. Открываем его командой
mcedit /etc/yum.repos.d/remi.repo
yum update
После завершения установки проверяем версию командой
php –v
Теперь у вас будет указана версия php 5.5
Обновление php до версии 5.6
Производим аналогичные действия как указано было выше, только подключаем секцию [remi-php56]. На размещенном выше скриншоте у вас должны быть такие же настройки как на первой и третьей стрелке. После включения достаточно выполнить команду общего обновления и в процессе согласится с установкой найденных обновлений.
yum update
После завершения обновления проверяем версию php командой
php –v
Теперь у нас указана версия php 5.6
Обновление php до версии 7
Обновим php до анонсированной недавно «революционной» версии 7. Ну…, у кого тут крепкие нервы? 🙂
После подключения основной секции репозитория remi и последующего обновления, в каталоге конфигурационных файлов репозиториев yum.repos.d появляется новый файл – это remi-php70.repo. Открываем его для редактирования
mcedit /etc/yum.repos.d/remi-php70.repo
yum update
Проверяем
php –v
Теперь у нас на сервере VPS самая новая версия php 7.
Чем чреват переход к этой версии? Да много чем – если вы используете старые скрипты на своих сайтах, то скорее всего увидите ошибки исполнения php. На момент написания этой статьи я тестирую на одном из VPS эту версию и вполне успешно. Сайты на новой версии CMS wordpress 4.4 довольно стабильно работают. Ошибку выдали лишь 2 плагина W3 Total Cache (кэширование), Transposh Translation Filter (автоперводчик). Однако имеются и приятные плюшки – страницы сайтов стали генерироваться вдвое быстрее прежнего. Единственное на CMS DLE установлен был скрипт стороннего разработчика, который требовал для работы IonCube Loader (комплект утилит для декодирования исходного кода). По словам разработчиков IonCube, их ПО слишком быстро изменить под новую версию невозможно, так как php 7 по сравнению со старшими версиями был достаточно серьезно переработан, ориентировочное время обновления данных утилит – первый квартал 2016 года. Поэтому пока сайт работает на VPS со стандартной сборкой ПО.
Проблемы после обновления версии php
Из проблем после обновления версий php мной замечено, что на CMS DataLife Engine (DLE) в кириллической кодировке windows-1251 русские символы отображаются некорректно, а стандартные приемы не исправляют ситуацию как на php 5.4. Для преодоления этой проблемы существует несколько вариантов (если один из вариантов не дает эффекта пробуйте другой):
1. Добавим в конфигурационный файл httpd.conf для определенного домена, на котором используется вышеуказанная кириллическая версия DLE, строку AddDefaultCharset windows-1251
mcedit /home/admin/conf/web/httpd.conf
В этом файле секции, отвечающие за работу каждого домена начинаются строкой <VirtualHost ваш-IP-адрес:8080>, а заканчивается </VirtualHost>. Я ее размещаю третьей сверху после имени домена и его алиаса. Для этого разместите курсор после второй строки и нажмите Enter, затем скопируйте указанную строку кодировки AddDefaultCharset windows-1251 и перейдите снова в консоль. Нажмите сочетание клавиш Shift+Insert. Кликните курсором на 10 клавишу внизу экрана консоли и подтвердите выход с сохранением файла. Затем перезапускаем сервис httpd командой
service httpd restart
чтобы изменения в конфигурации вступили в силу (этот стандартный метод работает на php 5.4).
2. Второй способ заключается в добавлении той же строки AddDefaultCharset windows-1251 в файл .htaccess, содержащийся в корне вашего сайта.
3. Третий – добавление строки PHP_VALUE default_charset windows-1251 в тот же файл .htaccess в корне сайта.
4. Четвертый способ самый кардинальный – изменение кодировки в httpd на windows-1251. Но этот способ стоит применять если на вашем сервере только один сайт или все сайты имеют кириллическую кодировку. Как и в первом варианте открываем конфигурационный файл командой
mcedit /etc/httpd/conf/httpd.conf
Находим строку AddDefaultCharset UTF-8 и меняем ее на AddDefaultCharset windows-1251, выходим с сохранением изменений в файле, перезапускаем сервис httpd командой
service httpd restart
чтобы изменения в конфигурации вступили в силу.
На этом тему с обновлением php версий можно завершить.
Круто, давно искал