使用php-js-ext在PHP内解析javascript脚本 |
本文标签:PHP扩展 PHP Javascript JS 当你在因个人兴趣爱好而开发PHP程序时,面对可以达到你的目的却长达千行以上的js脚本,你有精力去用php重写它么?想用PHP模拟用户行为么?但却遇到js泛滥的站点......一个不为人所知的php扩展项目可以满足这些需求,这个扩展的目的就是在php内解释javascript 。 wget http://aurore.net/projects/php-js/php-js-ext-0.1.2.tar.bz2 tar zxvf js-1.7.0.tar.gz 开始编译(如不能完成编译见最后说明) make -f Makefile.ref 拷贝libjs.so到/usr/lib cp Linux_All_DBG.OBJ/libjs.so /usr/lib 拷贝头文件到/usr/include cp jsapi.h jscompat.h jslong.h jsosdep.h jsotypes.h jspubtd.h jstypes.h jsproto.tbl jsconfig.h Linux_All_DBG.OBJ/jsautocfg.h /usr/include/ 自此mozilla js的安装工作就完成了,下面开始进行php-js-ext的安装 tar jxvf php-js-ext-0.1.2.tar.bz2 创造环境并设定扩展版本(如有一个以上的php存在,需要输入phpize的完整路径) /path/phpize 配置并编译安装(如有一个以上的php存在或configure无法找到php的位置,需要在configure的时候指定-with-php-config=/path/php-config) ./configure 如果一切无误,js.so已经在你的php的lib目录 最后,修改你的php.ini,在相应的位置加入extension=js.so,并确认extension_dir的设定正确 。 A simple ./configure; make; make install should do the trick. Make sure to add an extension=js.so line to your php.ini/php.d. Note: you need to install libjs first. If youre using a Redhat-esque system, you can use the SRPM provided above, else, use the TBZ. (非Redhat的linux发行版可能会在mozilla js的编译过程中产生错误,是因为连接器和内核已经不对a.out提供支持,我们需要用gcc来生成一个共享库而不是ld了 。打开js/src/config/Linux_All.mk,将第50行的 MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS) 更改为 MKSHLIB = $(CC) -shared $(XMKSHLIBOPTS) ,make -f Makefile.ref clean后再次尝试编译 。) |