zhwz 发表于 2017-1-5 08:18:23

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
以下是我编译的例子:
# ./configure –enable-lib64 -libdir=/usr/lib64 –enable-ssl –with-ssl=/usr/local/ssl –enable-module=so –prefix=/usr/local/apache
#make
#make install


解决方法:编译时增加编译参数 --with-expat=builtin 。貌似在64位服务器下编译脚本在定位系统 expat 支持时有些问题。使用自带的expat来编译就不存在这个问题了。举例如下:
# ./configure --prefix=/usr/local/apache2 --enable-modules=so --enable-rewrite --with-expat=builtin
  二. 添加对php的支持:
  注意: #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
页: [1]
查看完整版本: apache 安装问题及解决办法