在网站上的 PHP 上执行 *.java 或 *.jar


Execute *.java or *.jar on PHP at website

我已经可以在我的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。但我不明白。你可以帮我吗?非常感谢。

你不需要

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');