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/configure2、删除“httpd-2.26/srclib/apr-util/configure”3、通过以下命令重建编译文件(以下命令在http-2.26/目录下运行)。#./buildconf4. 、通过以上重建编译文件,现在可以拥有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 .PHPAddType 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
?