【问题标题】:Scala Lift - Run PHP file from within scala runtimeScala Lift - 从 Scala 运行时运行 PHP 文件
【发布时间】:2013-03-06 02:29:52
【问题描述】:

我不完全确定标题的措辞是否正确,但我正在尝试从 Lift 框架内运行和执行 PHP 文件。

我不是在对驻留在服务器上的 PHP 文件进行任何 url 查询,而是对通过我的 Scala/Lift 应用程序以某种方式让 PHP 运行时工作更感兴趣。

用例:我将我的应用程序打包成一个 .war 文件,我通过云提供商托管它。我将代码 sn-ps 上传到该应用程序,然后该应用程序运行 php 文件并执行任何必要的操作。

我看过很多关于 Bianca 的帖子,但我希望保持这个设置简单,只需要 PHP 二进制文件本身和一些代码就能让它运行起来。

先谢谢了,如果需要我详细说明,请告诉我:)

【问题讨论】:

  • 您是说将 php 文件作为脚本运行,例如,可以在服务器周围复制文件,或类似的东西?

标签: php scala lift


【解决方案1】:

“永远不要说永远,因为限制,就像恐惧一样,通常只是一种 错觉。”

——迈克尔·乔丹

您真正需要的是完全用 Java 编写的开源 (GPL)、可嵌入、完整的 PHP 5 实现!

Caucho's Quercus PHP Java runtime 就是这样,它可以让您在 Java 应用程序中运行 PHP,而无需外部库或本机代码。

下面是我在this answer找到的 Quercus-PHP-in-Java 代码示例

import javax.script.ScriptEngine;
import com.caucho.quercus.script.QuercusScriptEngineFactory;

QuercusScriptEngineFactory factory = new QuercusScriptEngineFactory();
ScriptEngine engine = factory.getScriptEngine();

String phpCode = "<?php $foo = strlen('abc'); print $foo; return 'yikes'; ?>"; //PHP Code as String
Object o = engine.eval(phpCode);
System.out.println(o);

将此代码转换为惯用的 Scala 应该不费吹灰之力。显然,“phpCode”变量可以从外部 PHP 文件内容等构造。

让我们知道你的进展;-)

【讨论】:

    【解决方案2】:

    这有点奇怪,但如果您需要这样做,您可以使用ProcessBuilder 来执行您的PHP 脚本from the command line 并与之交互。

    【讨论】:

      猜你喜欢
      • 2012-04-15
      • 2013-11-04
      • 2020-06-05
      • 2018-07-09
      • 1970-01-01
      • 2017-04-10
      • 2012-12-25
      • 1970-01-01
      • 2013-05-08
      相关资源
      最近更新 更多