LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 968|回复: 6

有没有人用过php的sablot模块支持xslt的啊?我怎么编译不过去?

[复制链接]
发表于 2004-3-7 18:25:19 | 显示全部楼层 |阅读模式
居然找不到跟我有同样错误的人,搜遍了google。
我觉得我装的没错啊,已经把所有的东西都最简化了。先编译expat,成功了,javascript不会装,就不用了。再编译sablot,也成功了,没什么问题,可是到了编译php的最后一步,就会出错,说libsablot.so里面很多个函数和变量指向错误的地方或者没有声明什么的。看这样子似乎是有几个.o文件没有找到,但是我找遍了几个程序的说明文档也没有找到再多的说明,我完全是按照官方文档来指定参数的啊。
所有的软件都用prefix参数装在/opt下面,然后在php的configure里面指定--enable-xslt --with-expat-dir=/opt/expat --with-xslt-sablot=/opt/sablot这一步如果配置错误,configure根本通不过。可是现在都通过了,就是到了make的最后一步,似乎是要生成php的主文件的时候,就出错了。
有没有人装过这个东西啊?如果有的话,js是怎么装的?
我的版本:expat 1.95.7, sablot 1.0.1, php 4.3.4
发表于 2004-3-7 18:52:41 | 显示全部楼层
还要安装libxml2 libxslt

这是我phpinfo中的相关信息

Configure Command          './configure' '--disable-cgi' '--disable-ipv6' '--disable-gd' '--with-mysql' '--enable-xslt' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-xslt-sablot'

xml
XML Support         active
XML Namespace Support         active
EXPAT Version         1.95.6

xslt
XSLT support         enabled
Backend         Sablotron
Sablotron Version         0.97
Sablotron Information         Cflags: -march=athlon-xp -O3 -pipe -fomit-frame-pointer -mmmx -msse -m3dnow -mfpmath=sse -ffast-math Libs: -L/usr/lib -lexpat Prefix: /usr
 楼主| 发表于 2004-3-7 19:05:14 | 显示全部楼层
这两个东西哪里来的?怎么装?
我看sablot的说明里没有这个啊,应该只要expat就可以了。
 楼主| 发表于 2004-3-7 19:12:00 | 显示全部楼层
好像找到了一个解决办法,加了一个环境变量,LDFLAGS=-lstdc++
就可以编译过去了,安装也成功了。基本的函数也可以执行了,但是,我原来的set_encode不能用了,中文的网页作为utf-8出来的,全部都是乱码。
发表于 2004-3-7 20:02:24 | 显示全部楼层
 楼主| 发表于 2004-3-7 21:44:20 | 显示全部楼层
终于找到办法了。在sablot的configure上加参数,--enable-encoding,如果你的gcc版本不对,或者是系统原因,可能还得装上GBU自己的libiconv,因为它要依赖于这个。
关键是这个参数在安装说明和configure的帮助里面都没有出现,不知道为什么。网上所有的地方都找不到这个概念,也真够奇怪的。不过总算可以用了。为了这个东西,php都被编译了5、6次了。
 楼主| 发表于 2004-3-8 12:36:11 | 显示全部楼层
查了数不清的资料,用了几十个小时,把php编译了不下十遍,终于搞定了这个东西。现在编译出来的php已经跟windows下功能一样了,服务器端解析xsl和xml文件,支持javascript解析,支持编码转换和设定。唉,可真不容易。想windows下,只要把下载下来的三个包,三个dll文件都拷到system32目录下,改一下php.ini的LoadModule就都可以用了。这个差别真是..........
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表