Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编译应用程序时,Resin(Quercus)PHP函数不起作用_Java_Php_Eclipse_Resin_Quercus - Fatal编程技术网

Java 编译应用程序时,Resin(Quercus)PHP函数不起作用

Java 编译应用程序时,Resin(Quercus)PHP函数不起作用,java,php,eclipse,resin,quercus,Java,Php,Eclipse,Resin,Quercus,如果我犯了任何错误,请原谅,因为这是我第一次发布问题 我正在开发一个使用树脂嵌入库的web应用程序——它在很大程度上依赖于树脂附带的PHP引擎(Quercus)。经过3天的编码,当我遇到Quercus的一个奇怪问题时,我决定是时候制作我的第一个可运行jar,以便在我的web服务器上进行测试了——我猜是这样从我从服务器请求的PHP文件调用date、count和var_dump等基本PHP函数时,它们作为未知函数返回 但是在我的IDE(Eclipse3.8)中,我没有遇到任何问题。所以回到我使用的第

如果我犯了任何错误,请原谅,因为这是我第一次发布问题

我正在开发一个使用树脂嵌入库的web应用程序——它在很大程度上依赖于树脂附带的PHP引擎(Quercus)。经过3天的编码,当我遇到Quercus的一个奇怪问题时,我决定是时候制作我的第一个可运行jar,以便在我的web服务器上进行测试了——我猜是这样从我从服务器请求的PHP文件调用date、count和var_dump等基本PHP函数时,它们作为未知函数返回

但是在我的IDE(Eclipse3.8)中,我没有遇到任何问题。所以回到我使用的第一个文档,我使用最简单的代码和库制作了一个小的测试应用程序。我按照第一个教程的指导在,我似乎也得到了确切的问题,如前所述

测试应用程序的主代码

我用于测试的PHP文件

所以我知道我的问题不在我的代码中,我尝试使用项目属性和不同的库版本,但没有成功。现在,我正在使用最新版本的4.0.36和Java版本1.7_25。我甚至在多台计算机上试用过它(都运行Linux,因为我现在每天只使用Linux)。我一直在互联网上寻找帮助,但似乎没有任何现有的线程接近我的问题。有人知道这是什么原因吗?我希望我的问题足够详细,不要太长或太详细

如果有兴趣,我也可以发布我的应用程序的存储库,但上面的代码与我的应用程序遇到的问题相同,尽管我的应用程序和上面的示例以稍微不同的方式执行代码

更新:


在广泛搜索和测试Quercus的源代码后,我发现问题似乎与加载的并非所有模块有关——即模块添加缺少的函数——因此我发现如果我使用选项“将所需库复制到生成的JAR旁边的子文件夹”导出我的项目它的工作原理与IDE中的工作原理相同。现在,由于这至少是让我的项目运行的临时解决方案,我仍然想知道如何正常编译而不出现问题。(IDE中加载了58个模块,编译时只加载了2个。)

+1:看起来第一个问题做得不错,特别是因为这不是一个常见的主题。谢谢,我真的试过了。我只是希望有人能帮助我。我想说你需要一些耐心,因为树脂/栎树的用户不多。同时,浏览这些标签的现有问题,看看是否有未回答的问题,或者你可以留下更好的答案。我知道可能不会马上得到答案,我只是疯了,因为我已经为这个问题在键盘上敲了最后一天的头。我想我应该贡献我的时间来帮助别人,以换取堆栈溢出帮助了我多少次。不仅如此,它还可以激发你的灵感,让你为自己的问题分心,这样你可以在以后/第二天重新处理它。有时候,让问题休息一下是件好事。
public class Main
{
    public static void main( String[] args )
    {
        ResinEmbed resin = new ResinEmbed();

        HttpEmbed http = new HttpEmbed( 8080 );
        resin.addPort( http );

        WebAppEmbed webapp = new WebAppEmbed( "/", "/var/www" );

        resin.addWebApp( webapp );

        resin.start();
        resin.join();
    }
}
<?php var_dump( "Hello World" ); echo date("Y"); ?>
com.caucho.quercus.QuercusErrorException: 'date' is an unknown function.
        at com.caucho.quercus.env.Env.error(Env.java:6885)
        at com.caucho.quercus.env.Env.error(Env.java:6408)
        at com.caucho.quercus.expr.CallExpr.evalImpl(CallExpr.java:188)
        at com.caucho.quercus.expr.CallExpr.eval(CallExpr.java:141)
        at com.caucho.quercus.statement.EchoStatement.execute(EchoStatement.java:55)
        at com.caucho.quercus.statement.BlockStatement.execute(BlockStatement.java:105)
        at com.caucho.quercus.program.QuercusProgram.execute(QuercusProgram.java:414)
        at com.caucho.quercus.env.Env.evalCode(Env.java:4201)