当前位置: 首页 > 面试题库 >

如何在Java应用程序中运行PHP代码?

贺光华
2023-03-14
问题内容

我想知道如何在Java中运行PHP代码。使用ScriptEngine,我可以运行JavaScript:

String code="print(5+5);"; //sample bit of code
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByExtension("js");
try {
    engine.eval(code);
} catch (ScriptException ex) {
    //catch statement
}

为此,我导入了库javax.script.*。我相信要运行PHP,我必须导入一个类似的库,并将上面代码的第三行更改为extension
php。不幸的是,我不知道这是哪个库。我已经用Google搜索并找到了答案,并遇到了PHP / Java
Bridge库,但是我认为这并不是我要找的,因为它专注于通过PHP运行Java(据我所知) )。

希望我没有错过任何事情,对您的帮助将不胜感激!


问题答案:

解决此问题的方法是下载文件JavaBridge.jarphp-script.jar然后php-servlet.jar从http://php-
java-bridge.sourceforge.net/pjb/download.php
下载文件,然后将其导入您的类中:

import javax.script.*;

import php.java.bridge.*;
import php.java.script.*;
import php.java.servlet.*;

然后可以像以前一样运行代码:

String code="echo 5+5;"; //sample bit of code
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByExtension("php");
try {
    engine.eval(code);
} catch (ScriptException ex) {
    //catch statement
}


 类似资料:
  • 问题内容: 我已经编写了一些代码来编译Java源代码。然后生成.class文件。问题是如何运行它? 例如,我可以设置程序和类的名称,可以使用prog p = new prog(),但是在这种情况下,类文件在编译之前尚不存在。不太确定该怎么办。有人可以给我建议吗? 顺便说一句,该类如下所示: 问题答案: 如果只想运行它,则可以使用Runtime.exec或ProcessBuilder启动Java进程

  • 我使用JDK8制作了一个java应用程序,然后从JAR制作了一个可执行文件。 我已经使用launch4j从jar中创建了一个exe,并且没有可能选择Java11作为最新版本。 那么我怎样才能让这个exe在Java11上运行呢?

  • 我正在Android应用程序中创建一个项目。我已经在java eclipse环境中将java jdt ast作为独立应用程序实现了,并且我在控制台输出上得到了我需要的东西。现在我想把这个代码运行到我的Android应用程序项目中。但是,当我在文本中设置所有输出时,当我启动应用程序时,Android的视图,不幸的是它停止了,我不知道为什么...有人会知道为什么会发生这种情况吗?感谢您的帮助。 代码没

  • 我从未运行过Java代码,我想运行我将在下面发布的代码。有人能告诉我如何在Ubuntu上运行代码,包括我应该安装什么东西吗? 我还想修改它,把一个心脏图像放在这个家伙的胸前,写下我爱你。有人能帮我吗?

  • 以便在我的应用程序中使用它。我正在测试一个原生C++Android Studio模板项目。 我已经在GitHub上上传了完整的项目供参考:https://GitHub.com/jacobkrieg10/javacppnewexample 还有,下面是我认为需要注意的项目中的相关文件: nativelibrary.java: cmakelists.txt: 注意,Native-lib.cpp只是模板

  • 我用JDK 13制作了一个java应用程序。我用launch4j创建了一个exe文件。但是没有人可以运行它,因为每个人都有jre 1.8版本,而且它不会启动。。。我必须在安装中包含java jdk 13,并用它设置java_home?