今日、zend の Web サイトにアクセスして、monkeyspider タグを見つけました。
http://devzone.zend.com/article/4704-Using-JavaScript-in-PHP-with-PECL-and- SpiderMonkey
おや、SpiderMonkey と php を接続するために C で拡張子 php を書いたことが判明しました。 実際に試してみたところ、うまくいきましたので共有させていただきました。
最初のステップは、
http://ftp.mozilla.org/pub/mozilla.org/js/ js-1.7
http://pecl.php.net/package/spidermonkey Spidermonkey の PHP 拡張機能をダウンロードすることです
shell# tar -xzvf js-1.70.tar-gz
shell# cd js/src
shell# make -f Makefile.ref
shell# mkdir -p /usr/local/include/js/
shell# cp * .{h,tbl} /usr/local/include/js/
shell# cd Linux_All_DBG.OBJ shell# cp *.h /usr/local/include/js/ shell# cp js /usr/local/bin/ shell# cp libjs.so /usr/local/lib/ shell# ldconfig
shell# phpizeshell# ./configureshell# makeshell# make install
在make 的时候可能会报错, 那报错的那几行注释吧, 用了几个php 的struct 里没有的属性在php.ini 里把这个扩展打开吧, 试试把
<p class="sycode"> 代码 <p class="sycode"> <p class="sycode"> <? php // create JavaScript context $js = new JSContext(); // define PHP variables $a = 10 ; $b = 2 ; // assign variables to JavaScript context $js -> assign( ' a ' , $a ); $js -> assign( ' b ' , $b ); // define script code $script = <<< END c = a + b; END ; // evaluate script and display result echo " The sum of $a and $b is: " . $js -> evaluateScript( $script ); ?> </p> </p> </p><p> </p>