Skip to main content

Установка php 5.3 на Debian 7



Буває так, що в свіжому дистрибутиві Debian може знадобитися стара версія php, яка не входить в стабільну гілку дистрибутива. Наприклад, php 5.3 для роботи сайту на сервері з Debian Jessie.

Для повного дозволу залежностей слід, крім php, встановлювати пакети apache, актуальні для попереднього стабільного дистрибутива Debian.



І найважливіший аспект: завжди робіть бекапи всіх конфігураційних файлів!

Можливо, вам знадобиться видалити вже встановлені пакети php з стабільної гілки, якщо були встановлені раніше. Це можна зробити командою:


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

І ту ж саму команду виконуємо для apache, відповідно, замінюючи php на apache2.

Додавання репозиторіїв

Пакети для Debian Squeeze, в даний час, доступні тільки в архівному репозиторії . Список буде виглядати так:


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

Додаємо його однією командою:

  # Echo -e "deb http://archive.debian.org/debian/ squeeze main \ ndeb-src http://archive.debian.org/debian/ squeeze main"> /etc/apt/sources.list.d /php-squeeze.list 

І оновлюємо кеш пакетів.

  # Aptitude update 

Визначення пріоритету пакетів

Далі створюємо файл /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 - версія пакетів.

Зберігаємо файл, встановлюємо пакети стандартним чином:

  # Apt-get install apache2-mpm-prefork libapache2-mod-php5 php5-cli php5-mysql 

При цьому методі не потрібно заморожувати пакети, так як під час оновлення системи, вони порушені не будуть. Також слід зазначити, що в старих гілках можуть бути відсутні деякі пакети (php5-fpm для версії 5.3).

PS Також цей спосіб цілком підходить і для Убунту, але з переглядом використовуваних репозиторіїв.



Як ви оціните статтю?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оцінок, середнє: 5,00 з 5)
Завантаження ...

” 4 Коментарі "Установка php 5.3 на Debian 7"

  1. Добридень!
    При установки libapache2-mod-php5 - видає наступне:

    root @ funticket: ~ # apt-get install libapache2-mod-php5
    Reading package lists ... Done
    Building dependency tree
    Reading state information ... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    init: PreDepends: systemd-sysv but it is not going to be installed or
    sysvinit-core but it is not going to be installed or
    upstart but it is not going to be installed
    initscripts: Depends: sysv-rc or
    file-rc but it is not going to be installed
    Recommends: e2fsprogs but it is not going to be installed
    libapache2-mod-php5: Depends: libssl0.9.8 (> = 0.9.8m-1) but it is not going to be installed
    Depends: apache2-mpm-prefork (> 2.0.52) but it is not going to be installed or
    apache2-mpm-itk but it is not going to be installed
    Depends: apache2.2-common but it is not going to be installed
    Depends: php5-common (= 5.3.3-7 + squeeze19) but it is not going to be installed
    Depends: ucf but it is not going to be installed
    Depends: tzdata but it is not going to be installed
    Recommends: php5-cli but it is not going to be installed
    libblkid1: Depends: libuuid1 (> = 2.16) but it is not going to be installed
    libreadline6: Depends: readline-common but it is not going to be installed
    logrotate: Depends: cron or
    anacron or
    cron-daemon
    Recommends: mailx
    E: Error, pkgProblemResolver :: Resolve generated breaks, this may be caused by held packages.
    Буду вдячний будь-якої допомоги! Ніяк не виходить пеху запустити в 8-ке debian

    1. В даний момент можу порекомендувати замість модуля libapache2-mod-php5 використовувати php5-cgi.

      Спочатку ставимо apache:

        aptitude install apache2-mpm-itk -t squeeze 

      Таким чином можна навіть не ставити старий apache зі сховищ squeeze.

      Потім ставимо php:

        aptitude install php5-cgi php5-cli php5-mysql -t squeeze 

      Включаємо mod_actions:

        a2enmod actions 

      У конфиг віртуального хоста в конфіги apache додаємо рядки:

        ScriptAlias ​​/ local-bin / usr / bin
       AddType application / x-httpd-php .php .php3
       Action application / x-httpd-php / local-bin / php5-cgi 
      1. Спасибі за відповідь!
        Мені потрібно саме щоб php працював як модуль apache.
        Вирішив питання поставивши Debian 7.

Додати коментар

Ваш e-mail не буде опублікований.