2015-06-01 97 views
1

我已经安装了PHP与yum install php,在那之后我已经添加了以下几行httpd.conf在Linux上安装PHP:无法加载/etc/apache2/modules/libphp5.so到服务器

LoadModule php5_module modules/libphp5.so 
.... 
<FilesMatch \.php$> 
    SetHandler application/x-httpd-php 
</FilesMatch> 

并经过我已将libphp5.so复制到/var/apache2/modules。然后我说/etc/apache2/bin/apachectl -k stop并得到以下错误。

的httpd:上/etc/apache2/conf/httpd.conf的线57中的语法错误:不能 负载/etc/apache2/modules/libphp5.so到服务器: 的/ etc/apache2的/模块/ libphp5 .so:undefined symbol:ap_unixd_config

安装的PHP版本是5.4.41。操作系统是CentOS Linux release 7.1.1503

有人能告诉我问题在哪里吗?

UPD Apache的版本是2.4.6(64位),httpd.conf中的线57 LoadModule php5_module modules/libphp5.so

+0

哪一条是第57行? –

+0

你运行的是什么版本的Apache? – Sizons

+0

@Sizons Apache for CentOS 7的股票是2.4.6 – Machavity

回答

1

什么古怪这是你用yum安装了PHP,然后去添加php.so到Apache 。 RPM应该为你做这件事(这是包管理器背后的全部想法)。在CentOS 7中,.so文件在/etc/httpd/conf.modules.d中加载(您应该有一个名为10-php.conf的文件)。还应该有一个/etc/httpd/conf.d/php.conf文件,其中您的FilesMatch指令被添加。如果你定义了两次,你可能会导致问题。

我还建议您使用比5.4更高版本的PHP(当PHP 7.0在今年晚些时候发布时,此版本将进入End Of Life)。如果你没有使用Remi repo那么我会设置它,你可以得到5.5或5.6。我自己使用这个,并没有提到你遇到的任何问题。也可能是因为你安装的PHP版本没有为CentOS 7编译(这个问题对于Apache 2.4是唯一的)。 Remi确实有CentOS 7回购。

相关问题