遇到的错误
/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();
?>