PHP для Joomla 3.3

На 1 апреля 2014 года назначен выход новой версии Joomla - версии 3.3.

По состоянию на март 2014 года к обновлению готовы не все.

Разработчики готовят ещё более стабильную и безопасную версию 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

2 комментарии

  • rumanzo

    написал rumanzo

    Среда, 24 Декабрь 2014 14:13

    Собираю версию 5.3.29 из src.rpm из этого репозитория (из архива). За наводку на него спасибо.

  • Незнакомец

    написал Незнакомец

    Пятница, 06 Март 2015 02:42

    Отлично! Мне удалось это сделать!

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

Ваше мнение очень важно для нас! Обязательно выскажите Ваши мысли, пожелания и критику! Не стесняйтесь задавать вопросы. Скорее всего, ответ появится уже через 2-3 дня. Спасибо заранее.

Другие материалы в этой категории:

Go to top