2014-12-11 145 views
12

[解決]Debian的喘息升級PHP 5.4至5.5

我有Debian的喘息與安裝了PHP 5.4.18。 我想升級到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 

回報:

[email protected]:/# 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 

我可以看到剛剛安裝的文件

[email protected]:/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 
[email protected]:/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 
[email protected]:/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

我在做什麼錯了?

//編輯: 我通過管理嚮導更新它/ custombuild

[email protected]:/usr/local/directadmin/custombuild# vim options.conf 

我改變行:

php1_release=5.4 

php1_release=5.5 

和未來:

[email protected]:/usr/local/directadmin/custombuild# ./build update_data 
# [..] 
[email protected]:/usr/local/directadmin/custombuild# ./build php d 
# [..] 

現在我有PHP 5.5.19,我可以使用password_hash()函數;)

+0

使用'update-alternatives'切換到新版本。請參閱http://superuser.com/questions/669312/make-a-certain-software-version-the-default-in-ubuntu – 2014-12-11 01:22:16

回答

35
  1. 添加這些軟件包源至sources.list文件:通過

    須藤納米輸入文件/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)。

  • 做一個更新:

    sudo易於得到更新

  • 你會在更新進程中的最後一行得到一個錯誤的消息現在。

    1. 現在無法安裝PHP,因爲Debian只是給出了一個錯誤,並表示這些新來源未經過驗證,並且沒有公開密鑰,公鑰也沒有可用......我發現過程非常unintutive,我真的不知道爲什麼它是如此複雜的更新PHP,但好,這是怎麼回事...

    方法#1 此錯誤消息的最後一行包含一個關鍵,像「E9C74FEEA2098A6E」。複製鍵(用鼠標標記通常將其複製到剪貼板中的字符串),並運行這些命令verifiy新的包源(並把你的鑰匙在這裏):

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

    方法2(感謝!切赫在將這一)

    wget http://www.dotdeb.org/dotdeb.gpg 
    sudo apt-key add dotdeb.gpg 
    
  • 再次做一個更新:

    sudo易於得到更新

  • 安裝最新版本的PHP 5:

    命令和apt-get安裝PHP5

  • 檢查PHP 5的安裝版本(phpinfo()函數仍然會顯示舊的PHP版本,直到阿帕奇重新啓動):

    PHP -v

  • 最後,重新啓動Apache:

    sudo service apache2 restart 
    

    順便說一下,在Debian 6上安裝PHP 5.5(無需手動編譯源代碼)是不可能的(據我所知)。

    +4

    方法2單行:wget -O - http://www.dotdeb。 org/dotdeb.gpg | apt-key add - – 2015-07-20 20:16:32

    +1

    您可能還必須這樣做:'sudo apt-get dist-upgrade'。那就是說,如果它說有幾個包裹被阻止了 – surfer190 2015-12-29 13:41:24

    +0

    方法#2爲我工作。在我的情況下,我保存了這個gile /etc/php5/apache2/php.ini。非常感謝!! – JRichardsz 2017-01-30 19:25:18