【发布时间】:2009-03-05 14:28:40
【问题描述】:
我正在编写一个 Java 类。我在 test.php 中有一些逻辑。 该 Java 类的方法之一应该调用 test.php, 以便 test.php 执行一些计算并将结果返回给调用 Java 方法。我可以用类似下面的方法吗?
Runtime rt = runtime.getRuntime();
process exec = rt.exec(test.php);
【问题讨论】:
我正在编写一个 Java 类。我在 test.php 中有一些逻辑。 该 Java 类的方法之一应该调用 test.php, 以便 test.php 执行一些计算并将结果返回给调用 Java 方法。我可以用类似下面的方法吗?
Runtime rt = runtime.getRuntime();
process exec = rt.exec(test.php);
【问题讨论】:
您应该使用 JSR-223 脚本 API。有一个使用 Java/PHP 桥的 PHP 实现:
http://php-java-bridge.sourceforge.net/pjb/
另一种是纯Java: http://www.caucho.com/resin-3.0/quercus/
我自己没有用过这个。但是 Caucho 的 Quercus 产品使用了它,所以我怀疑它已经足够成熟,可以满足您的任何需求。
以下是一些可能对您有所帮助的其他链接:
【讨论】:
您也许可以这样执行 php 脚本,但它会产生预期的结果吗?
以这种方式调用 PHP 可能会起作用,但它会错过任何可能需要起作用的上下文(来自请求的参数、用户的会话范围等)
【讨论】:
这与您描述的方向相反,但它可能会有所帮助,因为它是两种语言之间的实际桥梁。
http://www.php.net/manual/en/java.examples-basic.php
PHP 拥有 Java 桥已经有一段时间了,但请记住,它充其量只是实验性的。
【讨论】:
如果您安装了 php cli,那么您可以执行您在此处编写的操作。只需使用 CLI 运行 php 文件。
【讨论】: