web-dev-qa-db-fra.com

Mise à niveau de Debian Wheezy PHP 5.4 à 5.5

[résolu]

J'ai Debian Wheezy avec php 5.4.18 installé. Je voulais le mettre à jour vers 5.5.x, mais la procédure standard ne fonctionne pas.

Voici mon fichier /etc/apt/sources.list:

# deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official AMD64 NETINST Binary-1 20130504-14:43]/ wheezy main
deb http://ftp.pl.debian.org/debian/ wheezy main
deb-src http://ftp.pl.debian.org/debian/ wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

# wheezy-updates, previously known as 'volatile'
deb http://ftp.pl.debian.org/debian/ wheezy-updates main
deb-src http://ftp.pl.debian.org/debian/ wheezy-updates main

#php 5.5
deb http://packages.dotdeb.org wheezy-php55 all
deb-src http://packages.dotdeb.org wheezy-php55 all

J'ai mis à jour les sources avec

apt-get update

et installé php5

apt-get install php5

mais après le redémarrage de httpd, j'ai toujours l'ancienne version php.

php -v

retour:

root@xxx:/# php -v
PHP 5.4.18 (cli) (built: Aug 19 2013 04:03:40)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
    with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans

quand je cherche php

find / -name php5

Je peux voir les fichiers juste installés

root@xxx:/usr/bin# ls -l php*
lrwxrwxrwx 1 root root      21 Dec 11 00:15 php -> /etc/alternatives/php
-rwxr-xr-x 1 root root 8956912 Nov 17 02:37 php5
root@xxx:/usr/bin# ./php5 -v
PHP 5.5.19-1~dotdeb.1 (cli) (built: Nov 17 2014 01:24:08)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
    with Xdebug v2.2.6, Copyright (c) 2002-2014, by Derick Rethans
root@xxxx:/usr/bin# ./php -v
PHP 5.5.19-1~dotdeb.1 (cli) (built: Nov 17 2014 01:24:08)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
    with Xdebug v2.2.6, Copyright (c) 2002-2014, by Derick Rethans

Mon phpinfo renvoie PHP Version 5.4.18

Qu'est-ce que je fais mal?

// edit: je l'ai mis à jour par directadmin/custombuild

root@xxxx:/usr/local/directadmin/custombuild# vim options.conf

j'ai changé de ligne:

php1_release=5.4

à

php1_release=5.5

et ensuite:

root@xxxx:/usr/local/directadmin/custombuild# ./build update_data
# [..]
root@xxxx:/usr/local/directadmin/custombuild# ./build php d
# [..]

Maintenant, j'ai php 5.5.19, et je peux utiliser la fonction password_hash ();)

13
marcin110987
  1. Ajoutez ces sources de package à votre fichier sources.list: entrez le fichier via

    Sudo nano /etc/apt/sources.list

et ajoutez ces lignes à la fin du fichier (pâtes clic droit):

deb http://packages.dotdeb.org wheezy-php55 all
deb-src http://packages.dotdeb.org wheezy-php55 all

Enregistrez et fermez (CTRL-X, “y”, ENTER).

  1. Faites une mise à jour:

    Mise à jour Sudo apt-get

Vous recevrez maintenant un message d'erreur dans la dernière ligne de la progression de la mise à jour.

  1. Il n'est pas possible d'installer PHP maintenant, comme Debian vient de donner une erreur et dit que ces nouvelles sources ne sont pas vérifiées et bla bla, la clé publique n'est pas disponible… Je trouve ce processus très peu intuitif et Je ne sais vraiment pas pourquoi il est si compliqué de mettre à jour PHP, mais bon, c'est comme ça…

Méthode # 1 La dernière ligne de ce message d'erreur contient une clé, comme "E9C74FEEA2098A6E". Copiez cette clé (marquez la chaîne avec la souris la copie généralement dans le presse-papiers) et exécutez ces commandes pour vérifier les nouvelles sources de package (et mettez VOTRE clé ici):

gpg --keyserver packages.dotdeb.org --recv-key  E9C74FEEA2098A6E
gpg -a --export E9C74FEEA2098A6E | Sudo apt-key add -

Méthode n ° 2 (merci Petr d'avoir apporté cela!)

wget http://www.dotdeb.org/dotdeb.gpg
Sudo apt-key add dotdeb.gpg
  1. Faites une nouvelle mise à jour:

    Mise à jour Sudo apt-get

  2. Installez la dernière version de PHP 5:

    Sudo apt-get install php5

  3. Vérifiez la version installée de PHP 5 (phpinfo () affichera toujours l'ancienne PHP jusqu'au redémarrage d'Apache)):

    php -v

Enfin, redémarrez Apache:

Sudo service Apache2 restart

Soit dit en passant, il n'est pas possible (pour autant que je sache) d'installer PHP 5.5 sur Debian 6 (sans compiler manuellement le code source).

36
Hassan Azimi