如何安装php 5.3.14 ubuntu 12.10

时间:2013-02-18 12:58:15

标签: php

我必须在我的ubuntu 12.10上安装此特定版本才能与提供商保持兼容。 我可以使用synaptic轻松安装php 5.3.10,但无法升级到5.3.14。 我怎样才能做到这一点 ? Apt-get不起作用......我在网上看到了几个tutos,但没有特别针对这个。

2 个答案:

答案 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。