apt-get 不安装来自旧稳定源的最新 PHP 5.4

slh*_*hck 4 php apt

我有两台运行 13.04 的服务器,并且在某个时候我为 PHP 5.4添加了oldstable 包源。出于某种原因,我无法再更新它 - 一台服务器没有从 5.4.23 升级到 5.4.24,而另一台在进行了几次故障排除卸载后,仍然使用来自默认包源的 5.4.9 .

这是安装在一台服务器上的正确版本:

PHP 5.4.23-1+sury.org~raring+1 (cli) (built: Dec 12 2013 09:25:05)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
Run Code Online (Sandbox Code Playgroud)

这是我在另一台服务器上所做的:

# add-apt-repository ppa:ondrej/php5-oldstable
# apt-get update && apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

但是,我得到了旧版本:

# php -v
PHP 5.4.9-4ubuntu2.4 (cli) (built: Dec 12 2013 04:29:20)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
Run Code Online (Sandbox Code Playgroud)

我已经做了一个apt-get remove php* --purge,然后是apt-get install php5,但没有骰子:它使我从 5.4.23 下降到 5.4.9。


这是我需要安装的正确选择:

# dpkg --get-selections | grep php
libapache2-mod-php5         install
php-apc                     install
php-pear                    install
php5                        install
php5-cli                    install
php5-common                 install
php5-curl                   install
php5-gd                     install
php5-imagick                install
php5-mysql                  install
Run Code Online (Sandbox Code Playgroud)

缓存甚至不显示 PPA:

# apt-cache policy php5
php5:
  Installed: 5.4.9-4ubuntu2.4
  Candidate: 5.4.9-4ubuntu2.4
  Version table:
 *** 5.4.9-4ubuntu2.4 0
        500 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu/ raring-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ raring-security/main amd64 Packages
        100 /var/lib/dpkg/status
     5.4.9-4ubuntu2 0
        500 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu/ raring/main amd64 Packages
Run Code Online (Sandbox Code Playgroud)

小智 5

您无法安装所需软件包的原因是它不再在您添加的 PPA 中。用于 raring 的 php5 5.4.23-1+sury.org 已从 PPA 中删除。

这是 2013 年 12 月 16 日 PPA 的样子:http : //web.archive.org/web/20131216111917/https : //launchpad.net/~ondrej/+archive/php5-oldstable

可以看到当时PPA里有一个php5的稀有包。这是您的其他服务器已安装的内容。如果你今天看它,那个包不在那里。Ubuntu 不会删除已安装的软件包;所以你的其他服务器仍然会拥有它。

从 PPA 中删除该软件包的原因可能是因为 Ubuntu 13.04 已不再支持。它在 1 月份停止接收更新。任何仍在 13.04 上的人都应该升级到 13.10。