- 论坛徽章:
- 0
|
终于发现了问题所在
我的服务器是
[root@ppc64 php-5.3.1]# more /etc/issue
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
Kernel \r on an \m
[root@ppc64 php-5.3.1]# uname -an
Linux ppc64 2.6.9-42.EL #1 SMP Wed Jul 12 23:22:51 EDT 2006 ppc64 ppc64 ppc64 GNU/Linux
编译php的是添加了很多的模块,
./configure --disable-all
disable了所有模块的时候是正常的。
后来一个模块一个模块的增加
./configure --prefix=/var/test/php --with-apxs2=/var/test/apache/bin/apxs --with-openssl=/var/test/openssl --with-mysql=/var/eyou/mysql --with-zlib-dir=/var/eyou/contrib/lib/
发现增加了zlib的时候出现的问题,所以在网上从新找了一下发现是没有添加-fPIC的问题,后来按一下方法把所有可以加上-fPIC的Makefile的CFLAGS=的后面都加上了-fPIC
最后在从新编译php就正常了。
解决方法:重新编译安装zlib,步骤如下:(在重新编译之前记得要把之前安装在/usr/local/zlib2里头的文件都完全删除)
# tar -zxvf zlib-1.2.3.tar.gz
# cd zlib-1.2.3
#./configure
#vi Makefile
找到 CFLAGS=-O3 -DUSE_MMAP
在后面加入-fPIC,即变成CFLAGS=-O3 -DUSE_MMAP -fPIC
# make
# make install
我用的php是php-5.3.1的,发现这个编译的时候会报告dns.o 有什么宏没有定义,搜了不少地方发现有个方法可以解决
php5.3.1 编译安装遇到问题dns.o 问题
Edit the Makefile, find line:
EXTRA_LIBS = [...lots of libs here...]
and add -lresolv to this line like this:
EXTRA_LIBS = -lresolv [...lots of libs here...]
我们在Makefile里的EXTRA_LIBS里查看有没有-lresolv 如果没有加上就可以了。
真是应该做好笔记呀,就不用这么麻烦了! |
|