读书人

关于quercus发动机的一个bug

发布时间: 2012-12-23 11:28:15 作者: rapoo

关于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 \"中文\"");

?>

读书人网 >编程

热点推荐