我必须在我的ubuntu 12.10上安装此特定版本才能与提供商保持兼容。 我可以使用synaptic轻松安装php 5.3.10,但无法升级到5.3.14。 我怎样才能做到这一点 ? Apt-get不起作用......我在网上看到了几个tutos,但没有特别针对这个。
答案 0 :(得分:4)
删除并清除包裹:
apt-get remove php-apc php5 php5-mysql php5-gd php5-curl libapache2-mod-php5
apt-get autoremove
确保在运行之前了解此命令的作用:
dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge
您通常可以从旧版本添加来源,而无需担心太多:
<强> /etc/apt/sources.list.d/precise.list 强>
deb http://mirror.rackspace.com/ubuntu/ precise main restricted
deb-src http://mirror.rackspace.com/ubuntu/ precise main restricted
deb http://mirror.rackspace.com/ubuntu/ precise-updates main restricted
deb-src http://mirror.rackspace.com/ubuntu/ precise-updates main restricted
deb http://mirror.rackspace.com/ubuntu/ precise universe
deb-src http://mirror.rackspace.com/ubuntu/ precise universe
deb http://mirror.rackspace.com/ubuntu/ precise-updates universe
deb-src http://mirror.rackspace.com/ubuntu/ precise-updates universe
这是一个可能过于广泛但有希望有用的apt偏好文件:
/etc/apt/preferences.d/php_precise
Package: php5
Pin: release a=precise
Pin-Priority: 1001
Package: php*
Pin: release a=precise
Pin-Priority: 1001
Package: php-*
Pin: release a=precise
Pin-Priority: 1001
Package: libapache2-mod-php5
Pin: release a=precise
Pin-Priority: 1001
Package: php5
Pin: release a=precise-updates
Pin-Priority: 1001
Package: php*
Pin: release a=precise-updates
Pin-Priority: 1001
Package: php-*
Pin: release a=precise-updates
Pin-Priority: 1001
Package: libapache2-mod-php5
Pin: release a=precise-updates
Pin-Priority: 1001
更新并检查您的更改
apt-get update
apt-cache policy <package> to check which version will be installed (eg php5)
执行一些测试运行,您可能需要添加到首选项文件中的依赖项
apt-get install <everything you removed before>
答案 1 :(得分:0)
这应该覆盖apt-get以获取最新版本的PHP(但我认为只有稳定,所以可能不会安装所有alpha / beta版本)
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5
php5 -v
此外,您可以更新apt偏好,以便永远不会安装更高版本的软件包。 您可以通过打开/ etc / apt / preferences并添加以下内容来完成此操作:
Package: php
Pin: release v=5.3.14*,a=stable,c=main,o=Debian,l=Debian
Pin-Priority: 1001
这是一个Debian示例,但Ubuntu基于Debian,目前我无法在现场Ubuntu发行版上进行测试,我认为这可能就足够了。
要使这个“版本阻止”工作,您可能首先需要通过apt-get卸载php,然后重新安装它以便它将坚持5.3.14。