【问题标题】:PHP, shell commands, and jar filesPHP、shell 命令和 jar 文件
【发布时间】:2009-11-10 01:37:57
【问题描述】:

我有一个想要使用 PHP 执行的 jar 文件,但是当我运行脚本时,我得到的只是以下错误:无法为对象堆保留足够的空间。我做了一些搜索,似乎我得到了这个,因为该命令没有在登录 shell 中执行。如果是这种情况,我该怎么做? shell_exec()exec() 我都试过了,都产生了同样的错误。

感谢您的帮助!

【问题讨论】:

  • 你正在运行什么样的 jar。是你自己的程序还是库 jar?
  • 你有什么样的设置来运行这个?这是一个您可以根据自己的选择配置和运行自己的东西的服务器吗?或者它是某种网络主机,你可以用它做更多的限制?有很多方法可以解决这个问题,但这实际上取决于您必须使用什么。

标签: php apache web-applications jar executable-jar


【解决方案1】:

使用 exec() 通常可以正常工作;但是,在您的情况下,Java 似乎无法分配足够的内存来启动(因此出现错误消息)。如果您在 RAM 有限且没有交换空间的虚拟机中运行,您会发现即使是最简单的 java 程序也几乎无法运行。

第一步是查看java是否在你的机器上运行。尝试运行

java -version

如果失败并出现同样的错误,您将不得不以某种方式增加可用内存量(例如,购买具有更多内存或交换空间的计划)。如果你不能,如果你用 -Xmx16m 限制最大堆大小(将最大堆大小设置为 16 兆字节)甚至更小,你可能可以通过,但在这种情况下你的 jar文件可能没有足够的内存来运行!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    • 2013-05-28
    • 2014-08-24
    • 2016-04-18
    相关资源
    最近更新 更多