Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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中获得PHP脚本引擎缺少什么_Java_Php - Fatal编程技术网

在Java中获得PHP脚本引擎缺少什么

在Java中获得PHP脚本引擎缺少什么,java,php,Java,Php,我试图从ScriptEngineManager获取PHP ScriptEngine,但getEngineByName(“PHP”)返回null。如果我将“php”替换为“javascript”,那么下面的单元测试是有效的,但是对于“php”它失败了 我一定错过了什么明显的东西。我知道,Rhino附带Java6,并支持javascript引擎。我从哪里得到PHP的这个 编辑: 我迈出了第一步。是JavaBridgeTemplate5442.war的下载链接。我解压缩了这个战争文件。在WEB-INF

我试图从ScriptEngineManager获取PHP ScriptEngine,但getEngineByName(“PHP”)返回null。如果我将“php”替换为“javascript”,那么下面的单元测试是有效的,但是对于“php”它失败了

我一定错过了什么明显的东西。我知道,Rhino附带Java6,并支持javascript引擎。我从哪里得到PHP的这个

编辑: 我迈出了第一步。是JavaBridgeTemplate5442.war的下载链接。我解压缩了这个战争文件。在WEB-INF/lib/I下,我找到了jar文件

  • JavaBridge.jar
  • php-script.jar
  • php-servlet.jar

当我将JavaBridge.jar放在类路径中时,单元测试工作正常。(可能我还需要php-script.jar来实际执行php代码。)

列出了JSR223下可用的脚本引擎(页面底部)


PHP的当前实现包括和。

我以前见过这两种,但对于Quercus,我仍然不知道如何集成它。我终于用php java桥实现了。我将编辑我的问题。看这里:这里:我自己还没有尝试过Quercus。谢谢,看起来与我为php java桥找到的解决方案类似。我认为,这种包装使得实际使用这些桥梁变得有点困难。
import static org.junit.Assert.*;
import org.junit.Test;
import javax.script.*;

public class ScriptEngineTest {
    @Test
    public void executeCommand() throws Exception {
        ScriptEngine engine = new ScriptEngineManager().getEngineByName("php");
        assertNotNull(engine);
    }
}