重新启动Apache Server时出现问题

时间:2013-10-31 12:14:00

标签: linux apache centos

好吧,我在重启Apache服务器时遇到了一些问题。我在服务器上修改了ulimit,但是我没有重启httpd; 我在CentOS 5.8 x64上运行服务器。来自httpd -V的输出:

Server version: Apache/2.2.3
Server built:   Jan 10 2013 08:19:28
Server's Module Magic Number: 20051115:3
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   64-bit

运行/sbin/service httpd restart时我得到的错误(我不会打印大厅输出):

Syntax error on line 210 of /etc/httpd/conf/httpd.conf: 
Syntax error on line 6 of /etc/httpd/conf.d/php.conf: 
Cannot load /etc/httpd/modules/libphp5.so into server: libidn.so.11: 
wrong ELF class: ELFCLASS32

我搜索了这个错误并试图挖掘问题。我发现libphp5.so是64位架构而libidn.so.11是32位。通常,正如我所知,在64位体系结构上使用32位程序应该没有问题,但在这种情况下,在64位程序中使用了32位库(****请参阅{{3} } **)。

我尝试安装64位版本的库,但我能找到的,对于我的O.S。(centOS 5.8)是libidn_x86_64版本,它再次是32位。

服务器上安装的程序:

squid - Proxy
ffmpeg - for video streaming
csf-lfd -> firewall
Apache

对于发现问题的任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

由于version of libidn in CentOS 5.1与5.9中的相同(实际上它是相同的文件),因此可能安全地认为它将安装在5.8中

  

可以找到,因为我的O.S.(centOS 5.8)是libidn_x86_64版本,它再次是32位。

不,这个名字暗示它是64位版本 - 如果它包含一个32位的目标文件,那么就会出现问题 - 更进一步,考虑到CentOS的广泛使用以及各种各样的事情需要libidn,我我相信如果rpm包含错误的文件,有人会注意到。

您可能希望花一些时间考虑服务器如何进入此状态。不应该从具有正确依赖关系的Centos respoitories安装/升级PHP(除非你强迫它忽略它们)。

相关问题