Vous êtes ici : Accueil / Debian GNU/Linux / Serveurs / PHP / Installer PHP 5.3 sur Debian 7.0 Wheezy

Installer PHP 5.3 sur Debian 7.0 Wheezy

Par Pierre-Yves Landuré Dernière modification 11/11/2017 09:45

Debian 7.0 Wheezy fournit par défaut PHP 5.4. Ce peut causer des incompatibilités avec certaines applications Web. Ce guide aide à installer PHP 5.3 depuis les dépôts DotDeb pour Squeeze sur Debian 7.0 Wheezy.

Ce guide est testé sur:

  • Debian 7.0 Wheezy

Installation

Mise en place des dépôts

Installez les prérequis d'installation:

command apt-get install lsb-release

Récupérez le nom de la distribution:

DEBIAN_VERSION="$(command lsb_release -cs)"

Détectez le miroir utilisé par l'installation actuelle:

MIRROR=$(command egrep "^deb.*${DEBIAN_VERSION}" '/etc/apt/sources.list' \
    | command egrep -v "updates|-src|cdrom" \
| command head -n 1 \
    | cut --delimiter=" " --fields=2)

Ajoutez les dépôts Squeeze à la configuration Apt:

DEBIAN_VERSION="squeeze"
command echo "# Debian contrib repository.
deb http://ftp.fr.debian.org/debian/ ${DEBIAN_VERSION} main
deb-src http://ftp.fr.debian.org/debian/ ${DEBIAN_VERSION} main

deb http://security.debian.org/ ${DEBIAN_VERSION}/updates main
deb-src http://security.debian.org/ ${DEBIAN_VERSION}/updates main" \
    > "/etc/apt/sources.list.d/${DEBIAN_VERSION}.list"

Ajoutez les dépôts DotDeb Squeeze à la configuration Apt:

command echo "# DotDeb repository.
deb http://packages.dotdeb.org ${DEBIAN_VERSION} all
deb-src http://packages.dotdeb.org ${DEBIAN_VERSION} all" \
    > "/etc/apt/sources.list.d/dotdeb-org-${DEBIAN_VERSION}.list"

Ajoutez la clef signant les dépôt à la configuration Apt:

command wget 'http://www.dotdeb.org/dotdeb.gpg' \
--quiet --output-document=- \
| command apt-key add -

Assignez une très faible priorité aux paquet DotDeb pour ne pas polluer le système:

command echo "Package: *
Pin: origin packages.dotdeb.org
Pin-Priority: 200" \
> '/etc/apt/preferences.d/dotdeb-org'

Mettez à jour la liste des paquets disponibles:

command apt-get update

Installation de PHP 5.3

Récupérez la liste des paquets PHP5 et PECL disponibles sur les serveurs Dotdeb:

PACKAGES="$(command wget "http://packages.dotdeb.org/dists/${DEBIAN_VERSION}/php5/binary-$(command dpkg --print-architecture)" \
--quiet --output-document=- \
| command grep "href=" | command grep -v "h1" | command grep -v "\.\./" \
| command sed -e 's/^[^>]*>\([^_]*\)_.*$/\1/' | command tr "\n" " ")"
PECL_PACKAGES="$(command wget "http://packages.dotdeb.org/dists/${DEBIAN_VERSION}/php5-pecl/binary-$(command dpkg --print-architecture)" \
--quiet --output-document=- \
| command grep "href=" | command grep -v "h1" | command grep -v "\.\./" \
| command sed -e 's/^[^>]*>\([^_]*\)_.*$/\1/' | command tr "\n" " ")"
ALL_PACKAGES="$(command wget "http://packages.dotdeb.org/dists/${DEBIAN_VERSION}/php5/binary-all" \
 --quiet --output-document=- \
| command grep "href=" | command grep -v "h1" | command grep -v "\.\./" \
| command sed -e 's/^[^>]*>\([^_]*\)_.*$/\1/' | command tr "\n" " ")"

Assignez une priorité élevée aux paquets PHP de DotDeb:

command echo "Package: ${PACKAGES} \\
${PECL_PACKAGES} \\
${ALL_PACKAGES}
Pin: origin packages.dotdeb.org
Pin-Priority: 600" \
> '/etc/apt/preferences.d/dotdeb-org-php5'

Assurez-vous que les sessions restent stockées dans "/var/lib/php5" et que PHP ne gère pas leur destruction (géré par un cron):

command mkdir --parents '/etc/php5/conf.d' '/var/lib/php5'
command chmod 733 '/var/lib/php5'
command chmod o+t '/var/lib/php5'
echo '; Store sessions to /var/lib/php5
session.save_path = "/var/lib/php5"
session.gc_probability = 0' \
    > '/etc/php5/conf.d/000-session-store-default.ini'

Remplacez les paquets PHP5 installés par la version 5.3:

command apt-get install $(command dpkg --get-selections \
    | command grep 'php5' \
    | command cut --fields=1 \
    | command sed -e 's|.*|&/squeeze|g')

Si PHP n'est pas installé, reportez-vous à Installer PHP-FPM sur Debian.

Remerciements