Разработчики готовят ещё более стабильную и безопасную версию CMS Joomla, а мировое сообщество... впало в шок. Причина - требование к версии PHP на хостинге поднимается до серьезной планки в 5.3.10. Зная, что на подавляющем большинстве площадок версия PHP на данный момент около 5.3.3, можно констатировать, что поводы для беспокойства есть.
Однако, если наш сайт развёрнут на собственном хостинге, или VPS, у нас есть возможность самостоятельно администрировать систему и, следовательно, устанавливать программное обеспечение на наш вкус.
Внимание! Предполагается, что все команды выполняются от имени суперпользователя.
Итак, предположим, на нашем сервере установлена операционная система Linux, дистрибутив CentOS. Обратите внимание, что для CentOS 6.Х слёту обновить PHP не удастся:
# yum install php
Package php-5.3.3-27.el6_5.x86_64 already installed and latest version
Nothing to do
Займемся решением проблемы. Существует два пути: автоматизированный (быстрый) и ручной (надёжный).
Внимание! В октябре 2014 года появился более прогрессивный способ, в результате PHP обновляется до более свежей версии: PHP 5.6.
Автоматизированный путь
В последнее время автоматизированный работать перестал. Советую сразу переходить к ручному.
Первый (необязательный) шаг - установка приоритетов yum
# yum install yum-priorities
Теперь второй шаг и маленькая хитрость: чтобы хостинг соответствовал минимальным требованиям Joomla 3.3 совершенно не обязательно искать минимально-допустимую версию PHP, гораздо проще найти более свежую. Попробуем поставить PHP 5.4 или PHP 5.5.
Архитектура x86_64
Подключаем репозиторий EPEL (Extra Packages for Enterprise Linux), который поддерживается сообществом Fedora и подходит как для Enterprise Linux, так и для CentOS или Scientific Linux:
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Подключаем испанский репозиторий IUS:
# rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/ius-release-1.0-10.ius.el6.noarch.rpm
Устанавливаем новую версию интерпретатора:
# yum install php55 php55-common php55-devel
Архитектура i386
Подключаем репозиторий EPEL:
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
Подключаем испанский репозиторий IUS:
# rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/ius-release-1.0-10.ius.el6.noarch.rpm
Устанавливаем новую версию интерпретатора:
# yum install php55 php55-common php55-devel
Ручной путь
Шаг 1. Проверяем, установлена ли какая-то версия уже. В моём случае:
[root]# rpm -qa |grep php
php-mbstring-5.3.3-27.el6_5.x86_64
php-ldap-5.3.3-27.el6_5.x86_64
php-5.3.3-27.el6_5.x86_64
php-common-5.3.3-27.el6_5.x86_64
php-devel-5.3.3-27.el6_5.x86_64
php-xml-5.3.3-27.el6_5.x86_64
php-cli-5.3.3-27.el6_5.x86_64
php-pdo-5.3.3-27.el6_5.x86_64
php-process-5.3.3-27.el6_5.x86_64
php-mysql-5.3.3-27.el6_5.x86_64
php-fpm-5.3.3-27.el6_5.x86_64
php-gd-5.3.3-27.el6_5.x86_64
Шаг 2. Удаляем все пакеты, воспользовавшись Менеджером пакетов (yum у меня не справился).
Шаг 3. Скачиваем вручную (например, wget) все пакеты php54* из dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/
и помещаем их в одну дерикторию на сервере.
Шаг 4. Устанавливаем набор пакетов через менеджер пакетов:
rpm -Uvh php54-5.4.26-1.ius.el6.x86_64.rpm php54-common-5.4.26-1.ius.el6.x86_64.rpm php54-mbstring-5.4.26-1.ius.el6.x86_64.rpm php54-devel-5.4.26-1.ius.el6.x86_64.rpm php54-cli-5.4.26-1.ius.el6.x86_64.rpm php54-gd-5.4.26-1.ius.el6.x86_64.rpm php54-ldap-5.4.26-1.ius.el6.x86_64.rpm php54-xml-5.4.26-1.ius.el6.x86_64.rpm php54-pdo-5.4.26-1.ius.el6.x86_64.rpm php54-process-5.4.26-1.ius.el6.x86_64.rpm
Шаг 5. Наверняка на 4 шаге мы узнали, что какой-то библиотеки не хватает. Выясняем у yum, какой пакет в состоянии предоставить требуемую библиотеку и устанавливаем его:
yum whatprovides libt1.so.5
yum install t1lib
Если всё в порядке, повторяем шаг 4.
Шаг 6. Не забываем проверить конфигурационные файлы. Для меня критично в файле /etc/php.ini выставить short_open_tag = On. При желании, выполняем детальную настройку.
Шаг 7. Перезапускаем apache, чтобы увидеть изменения.
Результаты
Напоследок контролируем сами себя:
# php -v
Должны видеть новую версию (в зависимости от того, какую ставили). Я обновился до версии 5.4, поэтому
[root]# php -v
PHP 5.4.26 (cli) (built: Mar 7 2014 10:09:20)
Copyright (c) 1997-2014 The PHP Group
Дискуссия
Написал Rocky 9
Опубликовано в: Установка nginx c PHP-FPM под CentOS 7.0 in LinuxНаписал Константин
Опубликовано в: Докеризация стека LEMP под Ubuntu c помощью Compose in LinuxНаписал bammbr
Опубликовано в: Шлюз для маленького отдела на Red Hat 9 in LinuxНаписал Федор
Опубликовано в: Установка и конфигурация Samba на CentOS 7 in LinuxНаписал Evgenytrl
Опубликовано в: Загрузка файлов с помощью Wget in Linux