Главная » Настройка VPS » Обновление php

Обновление php

Обновление phpРассмотрим элементарный способ обновления php на нашем виртуальном сервере VPS. Будьте внимательны при обновлении, так как используемая вами CMS может не поддерживать более новые версии php полностью или частично, также могут некорректно работать отдельные используемые расширения CMS (скрипты). Убедитесь, что используемое вами ПО поддерживает соответствующую версию php.

При выполнении данной задачи предполагается, что у вас уже:

При установке сборки операционной системы Centos с панелью управления Vesta инсталлируется php 5.4, скачивается также репозиторий remi, но он не активен (подробнее о репозиториях и их активации здесь). Проверка текущей версии php производится консольной командой

php –v

Проверка текущей версии php

В сети можно встретить тестирование сборок ПО на производительность с различными версиями 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

Обновление phpСтавим в указанных на скриншоте первыми двумя стрелками местах вместо нулей единицы. Выходим из редактирования документа с сохранением. Запускаем команду обновления

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

Обновление php до версии 7и включаем, проставив в первой секции в строке enabled=1 вместо 0. Выходим из редактирования файла с сохранением и запускаем команду обновления

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 версий можно завершить.

1 комментарий

  1. Круто, давно искал

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.