PHP、shell命令和jar文件

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

你正在运行什么类型的jar文件?它是你自己的程序还是一个库文件? - Treby
你运行这个需要什么样的设置?这是一个服务器,你可以按照自己的选择进行配置和运行吗?还是它是某种类型的网络主机,你在使用上受到更多限制?虽然有解决此问题的方法,但这取决于你所拥有的工具。 - Brian
1个回答

2

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

第一步是查看Java是否在您的计算机上运行。尝试只运行

java -version

如果出现相同的错误,那么您需要增加可用内存的数量(例如购买具有更多内存或交换空间的计划)。如果您无法这样做,您可能可以通过使用-Xmx16m来限制最大堆大小(将最大堆大小设置为16兆字节)或更少来解决问题,但在这种情况下,您的jar文件可能没有足够的内存来运行!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接