【问题标题】:Execute *.java or *.jar on PHP at website在网站的 PHP 上执行 *.java 或 *.jar
【发布时间】:2012-05-09 03:52:05
【问题描述】:

我已经可以在我的 xampp 上使用此代码在 PHP 上执行 *.java 或 *.jar

exec('java -cp stanford-parser.jar edu.stanford.nlp.parser.lexparser.LexicalizedParser stanford-parser-2012-03-09-models\edu\stanford\nlp\models\lexparser\englishPCFG.ser.gz text.txt > result.txt');

它是我电脑中的本地主机。

现在我想将我的编码托管到网站互联网中。恐怕 java 不想执行和运行 exec 行。我应该怎么做才能使 exec *.java 或 *.jar 可以在网站上运行?

我听说我必须安装 tomcat 或 javabridge。但我不明白。你能帮助我吗?非常感谢。

【问题讨论】:

  • 您确定托管服务允许exec 功能吗?作为安全措施,它可能会被关闭。
  • 我不确定T_T..所以我问你们,我该怎么办:(

标签: java php web-hosting execute


【解决方案1】:

你不需要tomcat来运行上面的命令,只要你运行的服务器上安装了java,你应该可以像在你自己的机器上一样运行它。当然,您需要确保您的路径设置正确,即使这样这也不是一个好主意,特别是如果您预计它会受到大量流量的影响或者需要大量时间才能完成(> 5 秒)。

最简单的“正确”方法是启动一个长时间运行的进程(在 Apache/php 请求之外,并在完成时设置某种类型的标志或指示符。您可以让浏览器刷新,如果您希望他们在完成后立即收到通知。一个简单的方法是将上面的命令作为后台进程运行(如下所示将 & 附加到命令的末尾)。当然,这省略了很多可能需要完成的错误处理。

exec('java -cp stanford-parser.jar edu.stanford.nlp.parser.lexparser.LexicalizedParser stanford-parser-2012-03-09-models\edu\stanford\nlp\models\lexparser\englishPCFG.ser.gz text.txt &> result.txt');

【讨论】:

  • “只要在你运行的服务器上安装了java”这意味着在谁卖主机上安装java?我知道执行它会很长时间,有什么建议可以让它更好吗?谢谢
  • 如果您在共享 PHP 服务器上托管,他们很可能不会安装 Java(或者将禁用 exec,如上面 Adam 所述)。放一个托管公司的链接,我也许可以检查一下。
  • 是的,我问托管公司,他们可以执行 java .. 谢谢 abdullah jibaly :)
猜你喜欢
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-08
  • 2016-09-17
  • 1970-01-01
相关资源
最近更新 更多