升级PHP – 缺less依赖php-eaccelerator包需要php = 5.1.6

即时通讯尝试将PHP5.1.6升级到5.2.1 。 当调用yum更新php我得到这个消息:

– >完成的依赖关系解决schemephp-eaccelerator-5.1.6_0.9.5.2-4.el5.rf.x86_64从安装已经解散的问题

– > Missing Dependency:包需要php = 5.1.6 php-eaccelerator-5.1.6_0.9.5.2-4.el5.rf.x86_64(已安装)错误:缺less依赖:php = 5.1.6需要包php-eaccelerator-5.1.6_0.9.5.2-4.el5.rf.x86_64(已安装)您可以尝试使用–skip-broken来解决问题您可以尝试运行:package-cleanup –problems package- cleanup –dupes rpm -Va –nofiles –nodigest

程序包清除可以在yum-utils包中find。

消息是给的指示,但我真的不知道如何进行。 这是一个生产服务器,它不能停机超过1分钟。

感谢您的任何想法。

我只需要PHP 5.2.1新的json_decode()函数。 我添加了这个,升级不再是必要的: http : //snipplr.com/view/4964/emulate-php-5-for-backwards-compatibility/

RPMforge回购没有根据PHP 5.2.1构build的php-eaccelerator版本。

其实5.1.6是最新的了。 见http://packages.sw.be/php-eaccelerator/

您的select:

  1. 不要更新的PHP。
  2. 尝试重buildPHP 5.2.1的php-eaccelerator RPM。 如果你不习惯编辑rpm spec文件并从源代码编译,你不应该尝试这个。
  3. 寻找一个php-eaccelerator RPM是build立为PHP 5.2.1 http://www.atoomnet.net/centos_updated_php.php可能工作,但我不能certificate其质量。

更大的问题:

  • 为什么你升级到不是最新的(远离它)的PHP版本? 这是最新的CentOS / RHEL回购?
  • 为什么你的环境被devise成这台服务器不能停机超过1分钟? 那很糟。

对于PHP 5.1,json扩展通过pecl提供。 没有必要为此升级PHP(尽pipe现在PHP 5.1和5.2都是行尾)

你需要安装php-devel和php-pear:

yum install php-devel php-pear 

然后:

 pecl install json echo "extension=json.so" > /etc/php.d/json.ini 

由于您已经升级了PHP,所以自己编译eAccelerator(通过pecl不可用)可能是最简单的:

http://eaccelerator.net/wiki/InstallFromSource

或者切换到为安装的PHP版本提供eAccelerator rpm的存储库。 我为PHP 5.3提供了eaccelerator,如果你需要的话,还提供了PHP 5.3本身。 虽然我不提供PHP 5.2的eaccelerator。

http://www.webtatic.com/blog/2009/06/php-530-on-centos-5/

然后

 yum install php-eaccelerator --enablerepo=webtatic