java/php bridge 问题 10C
import javax.script.*;

public class Test{
    public static void main(String[] args){
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine engine = manager.getEngineByExtension("php");
        try {
           String a = (String)engine.eval("echo 'aaa';");
           System.out.println(a);
        } catch (ScriptException ex) {
            ex.printStackTrace();
        }
    } 

这里运行报错。
javax.script.ScriptException: java.io.IOException: PHP not found. Please install php-cgi. PHP test command was: [php-cgi, -v]
at php.java.script.PhpScriptEngine.doEvalPhp(PhpScriptEngine.java:119)
at php.java.script.AbstractPhpScriptEngine.evalPhp(AbstractPhpScriptEngine.java:153)
at php.java.script.AbstractPhpScriptEngine.eval(AbstractPhpScriptEngine.java:137)
at php.java.script.AbstractPhpScriptEngine.eval(AbstractPhpScriptEngine.java:263)
at javax.script.AbstractScriptEngine.eval(Unknown Source)
at Test.main(Test.java:34)
Caused by: java.io.IOException: PHP not found. Please install php-cgi. PHP test command was: [php-cgi, -v]
at php.java.bridge.Util$Process.start(Util.java:1145)
at php.java.bridge.Util$ProcessWithErrorHandler.start(Util.java:1250)
at php.java.bridge.Util$ProcessWithErrorHandler.start(Util.java:1301)
at php.java.script.CGIRunner.doRun(CGIRunner.java:65)
at php.java.script.HttpProxy.doRun(HttpProxy.java:63)
at php.java.script.Continuation.run(Continuation.java:100)
at php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60)
求大神指点指点

2个回答

u012451984
bacony 你的链接是从php中引用java类,和我要的相反。这个问题我自己解决了,配置了php-cgi到环境变量以后,虽然命令行可以运行php-cgi -v;但是java找不到。重启电脑后就可以了。
接近 5 年之前 回复

现在有个新问题出现了,这个没办法运行函数,欸

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐