日期:2014-05-16  浏览次数:20861 次

apache 安装问题及解决办法
?

?一. 安装

报错:

/usr/lib/libexpat.so: could not read symbols: File in wrong format

?

解决:./configure LDFLAGS="-L/usr/lib64 -L/lib64" --with-mpm=prefork --prefix=$APACHE_INSTALL_PATH --enable-so --enable-modules=so --enable-rewrite --with-expat=builtin

?

?

附网上资料:

?

这个问题出现在configure后的make,也就是说configure都能顺利通过,但是在make这一步时确有问题了。/usr/lib/libexpat.so: could not read symbols: File in wrong format

废话不说了,就说说我的解决方案。

1、删除安装目录下的configure文件,在我的环境中是httpd-2.2.6/configure

2、删除“httpd-2.26/srclib/apr-util/configure”

3、通过以下命令重建编译文件(以下命令在http-2.26/目录下运行)。

#./buildconf

4. 、通过以上重建编译文件,现在可以拥有64位的apr-util了,最后在编辑时加上以上参数:

–enable-lib64

以下是我编译的例子:

[root@yangjf packages]# ./configure –enable-lib64 -libdir=/usr/lib64 –enable-ssl –with-ssl=/usr/local/ssl –enable-module=so –prefix=/usr/local/apache
[root@yangjf packages]#make
[root@yangjf packages]#make install

?

?

解决方法:编译时增加编译参数 --with-expat=builtin 。貌似在64位服务器下编译脚本在定位系统 expat 支持时有些问题。使用自带的expat来编译就不存在这个问题了。举例如下:

# ./configure --prefix=/usr/local/apache2 --enable-modules=so --enable-rewrite --with-expat=builtin

?

?

二. 添加对php的支持:

注意: [root@study php-5.1.6]#cp php.ini-dist /usr/local/lib/php.ini

?

安装php对httpd.conf有以下几处修改:

  51 # Example:

  52 # LoadModule foo_module modules/mod_foo.so

  53 LoadModule php5_module modules/libphp5.so

  284?<IfModule mime_module>

  296 AddType application/x-httpd-php .php

  4.此后可运行Apache服务器测试

  在/usr/local/apache/htdocs下新建文件text.php内容如下:

  <? phpinfo(); ?><!--hpinfo();-->

?

附:

# vi httpd.conf

在httpd.conf文件中,添加

AddType application/x-httpd-PHP .PHP
AddType application/x-httpd-PHP-source .PHPs

应该将以上两句添加在其他AddType之后。

确保文件中有以下一句话,没有就自己添加在所有LoadModule之后。

LoadModule PHP4_module modules/libPHP4.so

好了,在vi中使用":wq"保存httpd.conf文件,退出vi。启动Apache server:

# /usr/local/Apache/bin/httpd start

?