在RHEL5上安装PHP 5.4,陷入依赖兔子洞


Installing PHP 5.4 on RHEL5, getting caught in dependency rabbit-hole

我尝试使用webstatic, epel和remi repo's,都失败了,错误如下:

Missing Dependency: openldap >= 2.3.43-25.el5_8.1 is 
needed by package libcurl-7.27.0-10.el5.remi.x86_64 (remi-test)

好的,我的系统上的openldap版本是:

sudo yum list package openldap
Installed Packages
openldap.i386            2.3.43-3.el5         installed    
openldap.x86_64          2.3.43-3.el5         installed

(可悲的是我只有一个补丁发布-3到-25!)嗯……!)

让我们从rpm安装OPENLDAP 2.4,因为它在任何repo上都不可用:

wget http://someurl/downloads/openldap-2.4.24.tgz
tar -zxf openldap-2.4.24.tgz
cd openldap-2.4.24
./configure

得到这个错误:

checking if Berkeley DB version supported by BDB/HDB backends... no
configure: error: BerkeleyDB version incompatible with BDB/HDB backends

我只是想在RedHat Linux 5 86_x64上升级PHP 5.1到5.4。没必要搞得这么复杂!有人有什么想法吗?

从源代码编译php是一个依赖噩梦!但我还是尝试了:

sudo rpm -ivh php54-5.4.16-1.ius.el5.src.rpm
Password:
warning: php54-5.4.16-1.ius.el5.src.rpm: Header V4 DSA signature: NOKEY, key ID 9cd4953f
   1:php54                  warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root x8
warning: user mockbuild does not exist - using root x8
########################################### [100%]
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
...repeated 8 more times. 

i显然完成了100%,但在sudo rpm -qa | grep *php*返回零结果下没有任何迹象。(仅供参考:我已经'yum删除' php 5.1已经)

感谢您的帮助

我终于通过蛮力解决了这个问题。我下载了所有我需要的php RPMS (cli,devel,common,pdo,mysql,xml,ldap)。

我从源代码编译了openldap 2.3.5, yum安装了'libedit'(其中一个php rpm需要它)

然后我在每个php rpm上运行rpm -ivh。有些依赖于彼此,所以有一个明确的顺序来做它们(例如pdo必须在mysql之前),但通过尝试和错误PHP 5.4成功安装。

一些应该像

那么简单的东西
sudo rpm -ivh http://some.complete.repo/
sudo yum install php php-common php-cli php-devel php-xml php-pdo php-mysql php-ldap

欢迎来到Linux的世界。(人们不禁要问,这么多年来,微软是如何凭借他们蹩脚的操作系统取得成功的)

/end_rant

安装epel和remi存储库,然后进行yum安装要容易得多:http://kb.parallels.com/en/115833