在Java中运行Quercus PHP
我试图从我的Java应用程序中运行一些PHP代码段 我看到这个问题: 这简单地表明:在Java中运行Quercus PHP,java,quercus,Java,Quercus,我试图从我的Java应用程序中运行一些PHP代码段 我看到这个问题: 这简单地表明: import com.caucho.quercus.QuercusEngine; QuercusEngine engine = new QuercusEngine(); engine.setOutputStream(System.out); engine.executeFile("src/test.php"); 我已经看到这表明: QuercusEngine engine = new QuercusEng
import com.caucho.quercus.QuercusEngine;
QuercusEngine engine = new QuercusEngine();
engine.setOutputStream(System.out);
engine.executeFile("src/test.php");
我已经看到这表明:
QuercusEngine engine = new QuercusEngine();
engine.setIni("foo", "bar");
engine.execute("<?php var_dump(ini_get('foo')); ?>");
对于任何函数,我都会得到相同的结果——strlen、strcmp、phpinfo等等
如……所述
war文件可以在Java应用程序服务器上运行,例如
玻璃鱼,即它可以在树脂外运行。这是战争档案
包括Quercus解释器和PHP库
我已经从该页面下载了war文件()
我在跑步
$ javac -cp 'WEB-INF/lib/resin.jar;.' TestQuercus.java
$ java -cp 'WEB-INF/lib/resin.jar;.' TestQuercus
完整的文件是
import com.caucho.quercus.QuercusEngine;
public class TestQuercus {
public static void main(String[] args) throws Exception {
QuercusEngine engine = new QuercusEngine();
engine.setIni("foo", "bar");
engine.execute("<?php var_dump(ini_get('foo')); ?>");
}
}
其中foo.php包括
那么我怎样才能从那里到达一个工作的引擎呢
谢谢,的工作原理如下
import javax.script.ScriptEngine;
import com.caucho.quercus.script.QuercusScriptEngineFactory;
QuercusScriptEngineFactory factory = new QuercusScriptEngineFactory();
ScriptEngine engine = factory.getScriptEngine();
String code = "<?php $foo = strlen('abc'); print $foo; return 'yikes'; ?>";
Object o = engine.eval(code);
System.out.println(o);
导入javax.script.ScriptEngine;
导入com.caucho.quercus.script.QuercusScriptEngineFactory;
queryScriptEngineFactory=新queryScriptEngineFactory();
ScriptEngine=factory.getScriptEngine();
字符串代码=”;
对象o=发动机评估(代码);
系统输出打印ln(o);
这是一个bug。我刚把它改成4.0.33,应该很快就会出来。如果愿意,您可以从我们的公共svn存储库中自行构建Quercus:
svn checkout svn://svn.caucho.com/home/svn/svnroot/resin/trunk resin
cd resin
ant
jar将是resin/lib/resin-kernel.jar和resin/lib/quercus.jar
有关错误参考,请参阅。Hi。谢谢你的回复。不过,我现在将自己的答案标记为答案,因为它适用于分布式源(vs trunk)。
import javax.script.ScriptEngine;
import com.caucho.quercus.script.QuercusScriptEngineFactory;
QuercusScriptEngineFactory factory = new QuercusScriptEngineFactory();
ScriptEngine engine = factory.getScriptEngine();
String code = "<?php $foo = strlen('abc'); print $foo; return 'yikes'; ?>";
Object o = engine.eval(code);
System.out.println(o);
svn checkout svn://svn.caucho.com/home/svn/svnroot/resin/trunk resin
cd resin
ant