【问题标题】:exec() disabled, how to execute .jar fileexec() 禁用,如何执行 .jar 文件
【发布时间】:2017-05-26 11:46:39
【问题描述】:

PHP 的exec() 功能在我的托管服务器中已关闭,并且无法更改(出于安全原因)。 exec() 函数有替代方案吗?

这里是关于我的问题的更多信息:

我想做什么:我想在主机服务器中使用 .jar 文件

这就是它在我的localhost 上的样子:

function generateReqXML() {
   exec('"C:\Program Files\Java\jdk1.7.0_21\bin\java.exe"
                 -jar vaiisis.jar auth', $out);
 }

这个.jar 文件帮助我的系统生成 XML 代码。

这段代码非常适合我的本地机器,但是当我尝试在我的主机服务器中使用它时它会遇到问题。

【问题讨论】:

  • 按理说,你想做什么?
  • 如果托管服务器不希望您使用任何类似 exec 的功能,那么通过变通方法这样做对您来说将非常“顽皮”。但是,可能有一个内置的 PHP 函数可以满足您的需要,因此您可以告诉我们。
  • 指定你想要做什么以及你是如何尝试解决它的。我们可以从那里提供帮助。
  • 您可能会发现this answer 很有帮助;它建议PHP > Python > Java 的工作流程。另一个想法mentioned here 是通过 cron 运行的 bash 脚本执行,该脚本基于 PHP 设置的数据库值。

标签: php exec shell-exec


【解决方案1】:

exec 的替代方案是:

system(); passthru(); shell_exec();

您可以通过echo ini_get("disable_functions");检查这些是否可用

但由于这些可能已禁用,因此只剩下非 PHP 选项。

你必须通过 PHP 使用 exec() 函数吗? 例如,您可以编写一个 shell 脚本,该脚本可以通过 cron 调用来完成您的工作。

你到底想完成什么?

【讨论】:

  • 我回答了我到底想要完成什么 - 以上几个答案。
猜你喜欢
  • 2014-12-31
  • 2016-11-15
  • 2011-05-05
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 2011-08-18
  • 2020-01-24
相关资源
最近更新 更多