Рейтинг 4.7 из 5. Голосов: 6

php-logo

В репозиториях седьмого Дебиана оказалась только php 5.4.

Но для работы многих скриптов требуется Php 5.3. От себя добавлю, что данный блог и joomla выше 1.5 нормально работает как на php 5.4-5.6 так и на 5.3. Конечно придется настроить интерпетатор и возможно немного поправить расширения Джумлы, тогда понижение версии может быть излишним.

Возможно, вам понадобится удалить уже установленные пакеты php из стабильной ветки, если были установлены ранее. Это можно сделать командой:

aptitude purge `dpkg -l | grep php | grep -w 5 | awk '{print $2}' | xargs`

или командой:

apt-get remove --purge `dpkg -l | grep php | grep -w 5 | awk '{print $2}' | xargs`

Обратите внимание что при этом удаляется и вебсервер Apache, если установлен и Phpmyadmin!

Далее можно устанавливать PHP.

Для начала нужно подключить репозитории squeeze. Открываем файл /etc/apt/sources.list редактором vim или другим (можно воспользоваться редактором Notepad++ о котором я говорил водном из постов) и добавляем:

deb deb http://archive.debian.org/debian/ squeeze main 
deb-src http://archive.debian.org/debian/ squeeze main

 После чего выполняем команду apt-get update.

Cмотрим, какая версия php 5.3.* доступна для установки:

apt-cache showpkg php5
Provides:
5.4.4-14+deb7u7 -
5.4.4-14+deb7u5 -
5.3.28-1~dotdeb.0 -
5.3.3-7+squeeze18 -
5.3.3-7+squeeze17 -

Ну и теперь можно ставить PHP 5.3 и отдельные пакеты с помощю aptitude

aptitude install -t squeeze php5

При этом будет предложено установить Web-сервер Apache.

Следующие НОВЫЕ пакеты будут установлены:
apache2-mpm-prefork{a} apache2-utils{a} apache2.2-bin{a} apache2.2-common{a} libapache2-mod-php5{a}
libapr1{a} libaprutil1{a} libaprutil1-dbd-sqlite3{a} libaprutil1-ldap{a} libdb4.8{a} libonig2{a}
libqdbm14{a} libssl0.9.8{a} php5 php5-cli{a} php5-common{a} ssl-cert{a}
0 пакетов обновлено, 17 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 12,9 MB архивов. После распаковки 34,8 MB будет занято.
Хотите продолжить? [Y/n/?]

Соглашаемся и в итоге у нас будет установлен из репозитория Apache 2.2.16

После установки, все пакеты нужно будет заморозить, чтобы при установке обновлений ОС php не был обновлён до последней версии 5.4. Делается это при помощи aptitude.

aptitude hold php5

Для того чтобы не замораживать пакеты можно создать файл /etc/apt/preferences.d/php-apache-squeeze, где прописать приоритеты:

Package: *php5* 
Pin: release a=squeeze
Pin: version 5.3*
Pin-Priority: 1000

Package: *apache*
Pin: release a=squeeze
Pin: version 2.2*
Pin-Priority: 1000

Pin: release a=squeeze — полужирным выделено имя ветки дистрибутива.
Pin: version — версия пакетов.

Обратите внимание что в Sqeeze могут отсутствовать пакеты php5-fpm, но как модуль Апача PHP ставится нормально.

Смотрим чтобы был установлен libapache2-mod-php5

apt-get install libapache2-mod-php5

Для того чтобы узнать какая версия php сейчас установлена используем команду:

php -v
Просмотров: 10175 Печать Назад
 
 
Рекомендуем по теме...