遇到的错误

/usr/bin/ld: /usr/local/lib/libz.a(crc32.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libz.a: could not read symbols: Bad value

安装apache的时候,

 ./configure --prefix=/usr/local/apache2/ --sysconfdir=/usr/local/apache2/etc/ --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared

出现如上错误

----------------------

重新编译zlib 再重新编译即可

解决方案:以64位的方式重新编译zlib
 961  tar zxvf zlib-1.2.3.tar.gz
  962  cd zlib-1.2.3
  963  CFLAGS="-O3 -fPIC" ./configure
  964  make
  965  make install
  966  make clean

安装php

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2

------------------------------------------------------------

上午php变成了下载,是不是没有【这一条语句和cp 这个php.ini】文件

cp /lamp/php-5.2.6/php.ini-dist  /usr/local/php/etc/php.ini 【没有拷贝这一句也出来php的界面,说明apache支持php 还是要有这两句

LoadModule php5_module        modules/libphp5.so  【apache编译安装的时候,如果加上了 --enable so就会自动添加上】
AddType application/x-httpd-php .php .phtml .phps【这句是手动添加的,但php编译安装的时候最好指向apache的安装目录--with-apxs2=/usr/local/apache2/bin/apxs】

测试Apache与PHP的连通性,看Apache是否能解析php文件

vi /usr/local/apache2/etc/httpd.conf

 AddType application/x-httpd-php .php .phtml .phps        (注意T的大小写)

 * .phtml为将.phps做为PHP源文件进行语法高亮显示

 重启Apache服务:/usr/local/apache2/bin/apachectl stop

                              /usr/local/apache2/bin/apachectl start

* Apache无法启动,提示cannot restore segment prot after reloc: Permission denied错误,为SELinux问题,可关闭SELinux或者执行命令chcon -t texrel_shlib_t /usr/local/apache2/modules/libphp5.so  

测试:vi /usr/local/apache2/htdocs/test.php   

      <?

              phpinfo();

 ?>

原文地址:https://www.cnblogs.com/bluewelkin/p/4323331.html