关于quercus引擎的一个bug!
??????? Quercus是JAVA编写的PHP渲染引擎,可以用来对PHP代码进行渲染。??????? 今天在项目中,根据long类型的ID查询对象的时候老是发现通过quercus引擎调用以后,参数和实际的值不一样,经过跟踪源码发现,quercus中Value类中的toJavalong方法将long类型的数据强制转化为int型,从而导致此BUG。
原来toJavalong方法的实现方法如下:
/** * Converts to a java Long object. */ public Long toJavaLong() { return new Long((int)toLong()); }
?
?
修改后将强制转化去掉即可。
1 楼 philix 2011-03-22 Quercus 中的eval也有问题.如果eval的string 中有中文, 一定得不到正确的结果. 无论gbk, or utf8.
希望能与你联手解决这个问题. QQ:489-366-17 2 楼 philix 2011-03-22 index.php
<?php
echo "中文";
eval("echo \"中文\"");
?>