从网站上的PHP脚本运行Java类文件
我有一个网站,希望能够允许用户从该网站在服务器上运行Java文件
我希望用户单击一个按钮,该按钮将在服务器上运行Java文件,Java程序打印到standard out的任何内容都将在网站上打印出来,供用户查看
如何做到这一点(从PHP调用Java程序,并将标准从Java文件实时反馈到PHP网站)
更新:
感谢您回答如何从PHP运行Java程序。然而,我也希望能够,因为Java程序正在打印到标准输出,它将在执行时打印出大量文本,能够在网页上打印出来,以便用户可以看到Java程序在执行的哪个阶段
如何做到这一点?它是否需要任何额外的AJAX或JavaScript或类似的东西
# 1 楼答案
passthru函数是否有任何用途
http://www.php.net/manual/en/function.passthru.php
# 2 楼答案
PHP
exec()
函数是一个不错的选择,但是您应该对允许执行的操作非常谨慎。。换句话说,不要依赖用户输入,因为这可能会危及整个服务器使用exec调用Java应用程序启动器,您可以从PHP执行任何Java应用程序,例如
# 3 楼答案
查看exec和另一个program execution functions。但是要非常小心地做这件事,否则这就是利用漏洞的方法
# 4 楼答案
我更愿意将Java类包装在Java小程序中,然后可以从客户端的javascript调用调用Java小程序:参见http://www.rgagnon.com/javadetails/java-0170.html
否则,如果调用会向标准输出抛出大量文本,或者由于系统依赖关系而必须在服务器上运行该类,则可以从php exec调用,但您可能需要类似cometd的内容来实时显示客户端上的文本。有各种javascript工具包的实现,如Dojo或jQuery
对于服务器端,似乎在phphere中有一个Comet实现
我希望这有助于
菲利普
# 5 楼答案
既然你提到实时,我建议你建立一个PHP到Java的桥。在每次请求时初始化JVM会占用大量资源
PHP/Java Bridge