我刚刚在开发服务器上安装了 10.04 LTS,但我需要在其上运行的系统(Magento 电子商务)与最新版本的 Ubuntu 附带的 PHP 5.3 不兼容。有没有一种安全且可升级的方法来安装 PHP 5.2,还是使用旧版本的 Ubuntu 更方便?
答案1
你可以使用我的苯甲酸,这是我为此目的创建的。请注意必要的固定。此外,aptitude 不会识别固定。如果您想使用它,您必须使用 aptitude 特定的方法。
注意 - 这仅适用于 10.04 (lucid)
答案2
可以使用 karmic 软件包并用 aptitude 固定它们。可以使用以下命令完成此操作:
# remove all php packge
sudo aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
# use karmiс for php pakage
# pin-params: a (archive), c (components), v (version), o (origin) and l (label).
echo -e "Package: php5\nPin: release a=karmic\nPin-Priority: 991\n" | sudo tee /etc/apt/preferences.d/php > /dev/null
apt-cache search php5-|grep php5-|awk '{print "Package:", $1,"\nPin: release a=karmic\nPin-Priority: 991\n"}'|sudo tee -a /etc/apt/preferences.d/php > /dev/null
apt-cache search -n libapache2-mod-php5 |awk '{print "Package:", $1,"\nPin: release a=karmic\nPin-Priority: 991\n"}'| sudo tee -a /etc/apt/preferences.d/php > /dev/null
echo -e "Package: php-pear\nPin: release a=karmic\nPin-Priority: 991\n" | sudo tee -a /etc/apt/preferences.d/php > /dev/null
# add karmic to source list
grep 'main restricted' /etc/apt/sources.list|grep -v "#"| sed s/lucid/karmic/g | sudo tee /etc/apt/sources.list.d/karmic.list > /dev/null
# update package database (use apt-get if aptitude crash)
sudo apt-get update
# install php
sudo aptitude install -t karmic php5-cli php5-cgi
# or (and) sudo apt-get install -t karmic libapache2-mod-php5
sudo aptitude hold `dpkg -l | grep php5| awk '{print $2}' |tr "\n" " "`
#done
来自链接文本
答案3
答案4
我最近尝试自己解决同样的问题。我没有更改包管理,而是自己从源代码编译了 PHP 5.2.17,然后使用该程序检查安装在我的系统上安装新的.deb 包。
我在博客文章中写了这些步骤,为 Ubuntu 10.10 编译 PHP 5.2但基本步骤如下:
- 下载 PHP 源代码(http://php.net/downloads.php)到 /usr/local/src
- 配置源,读取安装doc 和输出来自./configure--help
我的配置命令如下所示:
./configure --prefix=/opt --with-apxs2=/usr/bin/apxs2 --with-curl=/usr/lib --with-pgsql --with-pear --with-mysql --with-gd
- 使用“make”编译源代码
- 使用“checkinstall”安装已编译的软件包
就是这样。我已经使用 Synaptic 安装了 Apache2(您需要使用 apache2-mpm-prefork 包才能与 PHP 一起使用)。此外,如果您已经安装了任何 PHP5 包,则需要先卸载它们,然后再尝试安装您自己的编译包。
自己编译软件包实际上并不需要花费很长时间,如果你还没有在 Ubuntu 机器上完成此操作的话,这将是一个很好的体验。