web-dev-qa-db-ja.com

Debian wheezyアップグレードphp 5.4から5.5

[解決済み]

Php 5.4.18がインストールされたDebian Wheezyがあります。 5.5.xにアップグレードしたかったのですが、標準の手順が機能しません。

これは私の/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

ソースを更新しました

apt-get update

そしてインストールされたphp5

apt-get install php5

しかし、httpdを再起動しても、古いバージョンのPHPが残っています。

php -v

戻り値:

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

phpを検索するとき

find / -name php5

インストールしたばかりのファイルを見ることができます

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

私のphpinfoはPHPバージョン5.4.18を返します

私が間違っているのは何ですか?

//編集:directadmin/custombuildで更新しました

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

私は行を変更しました:

php1_release=5.4

php1_release=5.5

そして次:

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

これでphp 5.5.19が手に入り、password_hash()関数を使用できます;)

13
marcin110987
  1. Sources.listファイルにこれらのパッケージソースを追加します。

    Sudo nano /etc/apt/sources.list

ファイルの最後に次の行を追加します(右クリックして貼り付けます)。

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

保存して閉じます(CTRL-X、「y」、ENTER)。

  1. 更新を行います。

    須藤apt-getアップデート

更新の進行状況の最後の行にエラーメッセージが表示されます。

  1. インストールすることはできませんPHP今、Debianがエラーを出し、これらの新しいソースは検証されておらず、何とか、公開鍵は利用できないと言ったので…このプロセスは非常に非直感的で、 PHPの更新がなぜそんなに複雑なのかは本当にわかりませんが、それがどういうことなのか…

方法#1このエラーメッセージの最後の行には、「E9C74FEEA2098A6E」のようなキーが含まれています。そのキーをコピーし(通常、マウスで文字列をクリップボードにコピーします)、これらのコマンドを実行して新しいパッケージソースを確認します(そして、ここにあなたのキーを入れます):

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

方法#2(これを持ち込んでくれたPetrに感謝!)

wget http://www.dotdeb.org/dotdeb.gpg
Sudo apt-key add dotdeb.gpg
  1. もう一度更新します。

    須藤apt-getアップデート

  2. PHP 5:の最新バージョンをインストールします。

    Sudo apt-get install php5

  3. PHP 5(phpinfo()はApacheが再起動するまで古いバージョンPHPバージョンを表示します):

    php -v

最後に、Apacheを再起動します。

Sudo service Apache2 restart

ところで、(私が知る限り)Debian 6にPHP 5.5をインストールすることはできません(ソースコードを手動でコンパイルせずに)。

36
Hassan Azimi