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