从 java servlet 运行命令行 php 脚本

Posted

技术标签:

【中文标题】从 java servlet 运行命令行 php 脚本【英文标题】:run a command line php script from java servlet 【发布时间】:2013-03-26 21:59:19 【问题描述】:

有没有办法从 javaservlet 运行 php 命令行脚本(服务器端)?我一直在尝试,我没有得到任何异常,但脚本并没有按照它应该做的那样做。我不知道我是否违反了任何安全规则(就像小程序一样)。我正在使用此代码:

Runtime runtime = Runtime.getRuntime();
Process process = null;
try

    process = runtime.exec("php " + "wsaa-client.php wsfe" + " wsfe");

catch(Exception e)

    out.println("<h4>Runned!</h4>");

一切看起来都很好。即使我有一个正在运行的进程叫做:php-cgi.exe

有什么帮助/建议吗?

【问题讨论】:

你得到了什么输出?如果您看到Runned!,那么代码很可能正在生成异常。在out.println... 之后立即添加e.printStackTrace(),看看会发生什么。 【参考方案1】:

您可以尝试使用 PHP 和 wsaa-client.php 文件的绝对路径。 也请捕获异常并打印出异常。

【讨论】:

以上是关于从 java servlet 运行命令行 php 脚本的主要内容,如果未能解决你的问题,请参考以下文章

从哪里开始使用 CPanel 托管在 PHP 中运行命令行

将变量传递给从命令行运行的 PHP 脚本

使用命令行写一个 Java Servlet

命令行脚本 PHP 不运行

为啥这个带有 shell_exec 调用的 PHP 脚本从 Windows 10 的命令行运行,而不是浏览器/本地主机?

如何在 WAMPServer 中从 Windows 命令行运行 PHP