使用Plesk 9.5将Ubuntu Server 8.04中的PHP升级到5.3

我有一个Ubuntu 8.04的专用服务器,真的需要升级到5.3版本的PHP为了部署一个新版本的系统。

这个版本的php是Ubuntu 10.04的默认版本,所以我考虑升级操作系统,但尝试后,我失去了我的plesk安装,这使我的客户端。

我尝试添加dotdeb.org存储库,但不知道为什么,运行apt-get upgrade ,我得到这个错误:

 # apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done The following packages have been kept back: libapache2-mod-php5 php5 php5-cgi php5-cli php5-common php5-curl php5-gd php5-imap php5-mysql php5-sqlite php5-xsl 0 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. 

任何想法为什么会发生这种事情?

或者你知道任何替代方法(除了编译我自己的二进制文件)来升级php或更新ubuntu而不丢失plesk?

谢谢!

“保留”通常意味着“我会升级它们,但是升级它们需要我做一些我不想执行的操作”。 不幸的是,这“一些其他行动”是什么。 通常是添加或删除一些其他的软件包。 dist-upgrade (很容易安装新软件包或删除其他软件包以执行升级)不会经常遇到这个问题。 虽然这种types的东西通常不应该发生在一个稳定的版本。 如果远程升级也不愿意这样做,肯定会有一些更大的问题。

它首先确保没有一些应该首先执行的待处理动作或其他破碎的包,这绝对不是一个坏主意。 所以我build议:

 apt-get --fix-missing install 

找出需要发生的事情的方法就是明确地升级软件包。 你可能会这样做:

 apt-get install libapache2-mod-php5 php5 php5-cgi php5-cli php5-common php5-curl php5-gd php5-imap php5-mysql php5-sqlite php5-xsl 

另一个select是使用aptitude full-upgrade来试用aptitude。 由于资质一般愿意努力解决一个依赖问题,并愿意给你提供多种方式来解决依赖问题。 (如果它说“接受这个解决scheme?”,你可以说“不”来尝试另一种解决scheme)。

这可能只是工作,它也可能只是抱怨一些其他的软件包被保留,在这种情况下,你可以尝试安装这些,并像这样recursion,直到最终find和/或解决依赖性问题。

然而,坏消息是,即使你解决了这个依赖问题,这也不会让你到5.3,因为在8.04(hardy)中的php版本是5.2.4-2ubuntu5.19,在这里可以看到。 这是可以预料的,因为你的Ubuntu的8.04版本号表明它是在2008年4月发布的,那时PHP 5.3.0还没有发布。

如果你检查apt-cache policy php5 ,你不应该看到除了5.2.4- *列出的任何版本的PHP。 如果你这样做,那么有人已经试图在这里楔一个不同版本的PHP,这不是一个解决这个问题的推荐方法。

如果你真的需要PHP 5.3,我的build议是升级到更新版本的Ubuntu。 你可能会发现一个第三方存储库有5.3编译为hardy,但我会怀疑在使用第三方存储库时,安全补丁的质量和及时性(特别是与许多经常发现安全问题的东西像php)。

尝试apt-get dist-upgrade 。 如果你在/etc/apt/sources.list中有“hardy”,那么就不应该升级你的发行版,只是有问题的软件包。