使用 aptitude 将 php 5.2.0 更新至 5.2.4

使用 aptitude 将 php 5.2.0 更新至 5.2.4

我想更新我服务器中的 php 5。目前,我使用的是 php 5.2.0,因此我想将其更新到 php 5.2.4(而不是 php 5.3)。我尝试这样做:

aptitude update
aptitude upgrade

63 个数据包已更新,但 php 未更新,因为 php 始终为 5.0

请问我该如何更新我的 php ?

以下是 David 在另一篇文章中提出的命令的输出:

aptitude search php5
p   libapache-mod-php5              - server-side, HTML-embedded scripting langu
i A libapache2-mod-php5             - server-side, HTML-embedded scripting langu
i   php5                            - server-side, HTML-embedded scripting langu
p   php5-apache2-mod-bt             - PHP bindings for mod_bt
p   php5-auth-pam                   - A PHP5 extension for PAM authentication
i   php5-cgi                        - server-side, HTML-embedded scripting langu
p   php5-clamavlib                  - PHP ClamAV Lib - ClamAV Interface for PHP5
p   php5-cli                        - command-line interpreter for the php5 scri
i A php5-common                     - Common files for packages built from the p
i   php5-curl                       - CURL module for php5
p   php5-dev                        - Files for PHP5 module development
i A php5-gd                         - GD module for php5
p   php5-idn                        - PHP api for the IDNA library
p   php5-imagick                    - ImageMagick module for php5
p   php5-imap                       - IMAP module for php5
p   php5-interbase                  - interbase/firebird module for php5
p   php5-json                       - JSON serialiser for PHP5
p   php5-ldap                       - LDAP module for php5
p   php5-mapscript                  - module for php5-cgi to use mapserver
p   php5-maxdb                      - PHP extension to access MaxDB databases fo
i A php5-mcrypt                     - MCrypt module for php5
p   php5-memcache                   - memcache extension module for PHP5
p   php5-mhash                      - MHASH module for php5
p   php5-ming                       - Ming module for php5
i A php5-mysql                      - MySQL module for php5
p   php5-odbc                       - ODBC module for php5
p   php5-pgsql                      - PostgreSQL module for php5
p   php5-ps                         - ps module for PHP 5
p   php5-pspell                     - pspell module for php5
p   php5-radius                     - PECL radius module for PHP 5
p   php5-recode                     - recode module for php5
p   php5-snmp                       - SNMP module for php5
p   php5-sqlite                     - SQLite module for php5
p   php5-sqlite3                    - SQLite3 module for php5
p   php5-sqlrelay                   - SQL Relay PHP API
p   php5-suhosin                    - advanced protection module for php5
p   php5-sybase                     - Sybase / MS SQL Server module for php5
p   php5-tidy                       - tidy module for php5
p   php5-uuid                       - OSSP uuid module for php5
p   php5-xapian                     - Xapian search engine interface for PHP5
p   php5-xcache                     - Fast, stable PHP opcode cacher
p   php5-xmlrpc                     - XML-RPC module for php5
p   php5-xsl                        - XSL module for php5



aptitude show php5 | grep Version
Version : 5.2.0-8+etch13


aptitude show php5-cgi | grep Version
Version : 5.2.0-8+etch13



php5 --version
-bash: php5: command not found


php-cgi --version
PHP 5.2.0-8+etch13 (cgi-fcgi) (built: Oct  2 2008 08:21:17)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies

答案1

您使用的是 Debian Etch,它默认自带 5.2.0。这个问题并不简单。通常最好的方法是从 Lenny 下载版本并进行编译,但如果是 php5,它就不太好用了,因为有很多依赖项,您必须编译很多东西。

您是否考虑过将您的发行版升级到 Lenny?

最好的办法是找到一个为 Etch 预编译了 php5 的外部仓库。Google 上的 Shot 指出http://www.linuxcompatible.org/PHP_5.2.5_for_Debian_GNULinux_s100378.html可能是一个好的开始。

答案2

我也认为升级到 lenny 是最好的选择。

但是...如果你坚持并准备做大量的工作...

首先..备份!如果它失败了,你的系统可能会崩溃。你可能会陷入依赖地狱等等......

  • 添加 lenny repo
  • 使用 apt pinning 仅升级 php
  • apt-get 更新 && apt-get 升级
  • 如果成功,您可能需要删除 lenny repo 以避免将来出现问题
  • 如果失败,请恢复备份并开始计划将发行版完整升级到 lenny

将 Debian etch 升级到 lenny 的步骤:http://www.debian.org/releases/lenny/i386/release-notes/ch-upgrading.html

(大多数时候,至少对我来说,升级很顺利,很少出现问题)总结一下升级步骤标准debian(请务必阅读以上链接):

  • 备份!始终要有良好的备份。
  • 确保有足够的可用空间
  • apt-get 更新 && apt-get dist-upgrade
  • 将 /etc/sources.list 中的所有“etch”替换为“lenny”
  • apt-get 清理
  • apt-get 更新
  • apt-get 安装 apt aptitude
  • apt-get 升级
  • apt-get dist-upgrade

这应该是您所需要的全部。注意:如果您使用标准 repo 以外的内容(取决于 repo 中的内容),您可能需要先禁用它们(尤其是反向移植)。

如果是关键系统,请先尝试在虚拟机上模拟升级。

相关内容