安装php-tidy 到xampp

看上去似乎很简单,可是实际上却复杂之极。

xampp已经装好了,并且使用了一段时间,系统是centos 64位。

可万万没想到xampp居然是32位,因为用了一段时间所以没有意识到,后来编译好了不能用才发现。

编译php-tidy需要的是:
1. tidy 源码,可以从cvs上下载,在sourceforge.net上。不要使用yum里的tidy,因为那里是64位。
2. php-tidy 源码,从php里搞出来,下载php源码,ext/tidy就是。
3. xampp development file, 从xampp网站下载,要对应安装的版本。解压到/opt下
4. 编译需要的东西:make/gcc/glibc/autoconf等等,注意glibc这些要有32位的包,i386或i686

先编译tidy, 注意要把 -m32 -fPIC加到Makefile里。
make
make install

这样就装到/usr/local/lib

再编译php-tidy,先用phpize生成configure,再运行
./configure --with-php-config=/opt/lampp/bin/php-config

这样就生成Makefile
修改加入-m32

再编译
make clean
make
make install

编译出的tidy.so就会正确安装好。


extension=tidy.so
加入/opt/etc/php.ini
再用
/opt/lampp/bin/php -v
可以看有没有错误

如果一切正常就成功了。
如果出现  wrong ELF class: ELFCLASS64 in Unknown
就说明还是编译成了64位,载入失败
或者是tidy装成了64位,确保在yum里删除tidy, libtidy, libtidy-devel,再重新编译32位tidy和php-tidy,先用make clean清理。

实际上我试了很多种办法,包括网上的pecr install tidy(这是安装tidy 1.2 for php4的,而且也会编译成64位),yum install php-tidy(这也是64位tidy, for php 5.1),最后才突然想到32位的问题,还是没有仔细看错误信息。

xampp以后还是不要用了,扩展性太差,适合新手玩玩,开发环境不适合,更不能用于产品环境。


参考:
编译32位: http://www.cyberciti.biz/tips/compile-32bit-application-using-gcc-64-bit-linux.html
xampp: http://www.apachefriends.org/en/xampp-linux.html
php: http://www.php.net/downloads.php 下载对应版本的source
32位包: libstdc++.i386 ,  libgcc.i386 ,  glibc.i386 , glibc-devel.i386  有一个是i686的,记不清了

猜你喜欢

转载自magicgod.iteye.com/blog/745800
今日推荐