我有一个想要使用 PHP 执行的 jar 文件,但是当我运行脚本时,我得到的只是以下错误:无法为对象堆保留足够的空间。我做了一些搜索,似乎我得到了这个,因为该命令没有在登录 shell 中执行。如果是这种情况,我该怎么做?我都试过了shell_exec()
,exec()
而且都产生了同样的错误。
谢谢您的帮助!
我有一个想要使用 PHP 执行的 jar 文件,但是当我运行脚本时,我得到的只是以下错误:无法为对象堆保留足够的空间。我做了一些搜索,似乎我得到了这个,因为该命令没有在登录 shell 中执行。如果是这种情况,我该怎么做?我都试过了shell_exec()
,exec()
而且都产生了同样的错误。
谢谢您的帮助!
使用 exec() 通常可以正常工作;但是,在您的情况下,Java 似乎无法分配足够的内存来启动(因此出现错误消息)。如果您在 RAM 有限且没有交换空间的虚拟机中运行,您会发现即使是最简单的 java 程序也几乎无法运行。
第一步是查看 java 是否在您的机器上运行。试着跑
java -version
如果失败并出现同样的错误,您将不得不以某种方式增加可用内存量(例如,购买具有更多内存或交换空间的计划)。如果不能,如果使用 -Xmx16m 限制最大堆大小(将最大堆大小设置为 16 兆字节)甚至更小,则可能可以通过,但在这种情况下,您的 jar 文件可能没有足够的内存来跑!