Debian.pro

Блог для пользователей и администраторов Debian


php 5.2 для Debian 6 squeeze, пакеты php52*. Откладываем бубен и ставим PHP 5.2 не вредя системе.

Пока наш системный администратор Ильдар шаманит с кластером для shared-хостинга на best-hosting.ru, в сторону летят очень вкусные вещи =)
На днях он собрал пакеты php52-* для squeeze, а ваш покорный слуга собрал репозиторий для этого дела.

Собранные пакеты ставятся параллельно с php5.3 и ничуть не мешают им. Если вы используете php-cgi, то разные пользователи смогут использовать php52 или php53. Если вы используете mod_php — то вы можете легко переключаться между php52 и php53, но переключение будет затрагивать весь сервер.

Пакеты собраны только для архитектуры amd64. Поддерживать php52 для других архитектур мы, скорее всего, не будем. Может быть, соберем под i386 и забудем, не более.
Спасибо Alexander V Bo за 32 битные пакеты. Я их протестировал — всё работает.

Подключаем наш репозиторий:
Для 64 битных систем:
root@apache-php52:~# echo "deb http://debian.pro/repos/php52-squeeze/ binary/" >> /etc/apt/sources.list && aptitude update
Для 32 битных систем:
root@apache-php52:~# echo "deb http://debian.pro/repos/php52-squeeze/ binary32/" >> /etc/apt/sources.list && aptitude update

Вы должны увидеть что-то вроде:
Current status: 27 new [+27].
после ввода этой команды.

root@apache-php52:~# aptitude search php52
Покажет нам список пакетов, которые доступны для установки.

Все пакеты устроены так, что вместо php5 в названии каталога используется php52.
Например, конфиг для mod-php будет располагаться по адресу /etc/php52/apache2/php.ini, а extensionы в /usr/lib/php52/

Собственнно, поставим веб-сервер на голый дебиан с php52:
root@apache-php52:~# aptitude update && aptitude upgrade && aptitude install apache2 php52 libapache2-mod-php52 mysql-server mysql-client php52-mysql phpmyadmin
(почитайте эти статьи ещё раз, на всякий случай)
Так как мы ставили phpmyadmin, то php5 (то есть 5.3) тоже вытянулся. Отпилим php 5.3 у апача:
root@apache-php52:~# rm /etc/apache2/mods-enabled/php5.load && rm /etc/apache2/mods-enabled/php5.conf
и перезапустим Apache:
root@apache-php52:~# apache2ctl restart

Для удобства поставим php52-cli:
root@apache-php52:~# aptitude install php52-cli
И проверим:
root@apache-php52:~# php52 -i | grep "PHP Version"
PHP Version => 5.2.17-1

Обратите внимание, что бинарник мы запускали php52, а не php.

Ну и собственно, вам осталось проверить версию php, которую раздаёт apache2 в свет (про phpinfo(); все помним).

Есть там и пакет php52-cgi, и всякая фигня а-ля php52-curl.

Собственно, как переключаться в случае с mod-php:

root@apache-php52:~# ls /etc/apache2/mods-available/ | grep php
php52.conf
php52.load
php5.conf
php5.load

Соответствующие load и conf нужно закинуть в /etc/apache2/mods-enabled

По всем вопросам насчет репозитория пишите на vlad@debian.pro.


Комментарии (37):

  1. Виктор :

    Спасибо за сборку!
    А как в ней включить поддержку gd?
    Из-за отсутствия gd получаю такие ошибки:
    Fatal error: Call to undefined function ImageCreateFromJpeg() in /var/www/test/test.php on line 55

  2. Поставьте пакет php52-gd

  3. Serj :

    Все отлично, только я присел когда увидел что ITK не совместим с fcgi.. Подозреваю что cgi тоже… А хотелось сделать php52 для тех у кого cms закодирована zend_optimizer и нет возможности обновится…

    Думаю проблема для немалого количества хостеров.

  4. CGI пакет у нас тоже собран. Попрощу ещё собрать fcgi, но вообще вряд ли.

  5. Mixasik :

    А пакетов под х86 ещё не собрано?

  6. Нет, и скорее всего никто их не будет собирать.

  7. Mixasik :

    А если поделиться сорсами пакета или тоже никак?

  8. В понедельник или во вторник спрошу сорцы и history команд для сборки.

  9. Дмитрий :

    Стоит ли ждать fcgi?

  10. Mixasik :

    Было бы совсем не плохо :)
    Тогда потом выложу сборку под х86.

  11. Нет, fcgi не будет.

  12. Mixasik :

    Как там исходники для ПХП? нету ещё?

  13. Исходники там вполне обычные как оказалось.
    diff файл валяется в репе, history пока не забрал.

  14. Mixasik :

    Обычные от ленни? а можно линк на дифф? а то там в бинари нету, а остальное закрыто.

  15. http://debian.best-hosting.ru/source/
    Здесь исходники и диффы. Порядок сборки:
    dpkg-source -x < ПАКЕТ>.dsc
    cd < ПАКЕТ>
    dpkg-buildpackage -rfakeroot -b -j8 -nc; dpkg-buildpackage -rfakeroot -b -j8 -nc

    Собрать там 2 тарболла нужно соответственно (php и suhosin).
    И.. как соберете — мне пришлите архивом =) Напишу в топик.

  16. Юрий :

    Спасибо!

  17. zaartix :

    Пожалуйста добавьте в комплект php52-memcache

  18. В ближайшее время не появится, через неделю-две ждите.

  19. vitich :

    Приветствую.
    А где php52-pear?
    Мне вот oci8 понадобился…

  20. pear, скорее всего не будет. Нам он не нужен.

    Поймите нас правильно — мы не девелоперы дебиана, а просто поддерживаем репу, которая нужна нашим клиентам и нам самим )

  21. Roma :

    Я так понимаю что http://debian.best-hosting.ru/source/ уже доступ закрыли. А жаль.

  22. Да нет, всё там в порядке с доступом. Листинг файлов отключен, просто.

  23. Sergey :

    Сделал все как описано в статье. Кроме этого собрал и установил расширения memcache, imagick. Апач (2.2.16) примерно раз в 10 минут вылетает с Segmentation fault:

    child pid 19457 exit signal Segmentation fault (11)

    Никто не сталкивался с такой проблемой?
    Весь софт кроме 2 расширений пхп установлен из репозитария.

  24. Вероятнее всего, из репозитория вы поставили модули для php53.
    Собирать и устанавливать ничего не нужно, возьмите пакеты от lenny (с самим php там проблемы по зависимостям были, потому мы и пересобирали, а модули нормально ставятся). Если не будут ставиться — пробуйте —force, установку без зависимостей и прочее. И потом ручками в php.ini подключайте.
    Memcache наверняка не взлетит, если он неправильной версии.

    А вообще — было бы неплохо посмотреть на strace апача перед вылетом, syslog, dmesg, error.log, если там что-то есть.

  25. Спасибо, то что надо! Не хотелось собирать руками.

  26. michael :

    deb http://debian.best-hosting.ru cluster/ не работает . в конце выдает Ош http://debian.best-hosting.ru cluster/ Packages
    404 Not Found
    W: Не удалось получить http://debian.best-hosting.ru/cluster/Packages.gz 404 Not Found

    пофиксят ?

  27. Пофиксили, смотрите в мануал.

  28. df-h :

    Очень нужный репозиторий, не первый раз выручает. Спасибо!

  29. PavelTkachev :

    Возможно ли воспользоваться этим репозиторием для работы php и nginx? В связях прописан Apache и при удалении его компонентов удаляется и php.


  30. root@master:~# apt-get install php52 php52-cgi
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following extra packages will be installed:
    php52-common php52-suhosin
    Suggested packages:
    php52-pear
    The following NEW packages will be installed:
    php52 php52-cgi php52-common php52-suhosin
    0 upgraded, 4 newly installed, 0 to remove and 101 not upgraded.
    Need to get 5,532 kB of archives.
    After this operation, 12.3 MB of additional disk space will be used.
    Do you want to continue [Y/n]?

    https://debian.pro/239

    fpm там не собран, разумеется.

  31. Alex :

    Страница http://debian.best-hosting.ru/
    Выдаёт:
    Information
    Account disabled by server administrator.

    Репозиторий закрыт?

  32. Попросил включить, подняли.

    Потом перенесу к себе.

    Спасибо.

  33. Рустем :

    Попробовал установить на Debian 7 amd64
    Вылезли ошибки зависимости
    libapache2-mod-php52 : Зависит: libdb4.8 который является виртуальным пакетом.
    Зависит: libssl0.9.8 (>= 0.9.8m-1) который является виртуальным пакетом.

  34. php 5.2 для Debian 6 squeeze

  35. Рустем :

    Я понял :) Для Debian 7 нет готовых пакетов?

  36. Нет, и тащить на 7й дебиан php52 не стоит вообще.
    Если сильно нужно — поставь в чруте squeeze, разверни апач с 52 внутри чрута, через nginx спроксируй туда запросы для нужного вхоста.
    Или просто поставь squeeze.

  37. logger :

    собери сам — какие проблемы примерно как тут

    http://www.howtoforge.com/building-php-5.4-from-source-on-debian-squeeze

Написать комментарий