脚本适用于Windows Server 2003,但在Windows Server 2012上返回错误0x8007000e

时间:2017-08-16 09:45:50

标签: windows apache perl storage powerpoint

我有一个Perl脚本,它可以使用Win32::OLE从Powerpoint演示文稿中提取幻灯片的PNG。我正在将其从旧服务器(Windows Server 2003)迁移到新服务器(Windows Server 2012)。该脚本在旧服务器(具有Microsoft Office 2010)上工作正常,但在新服务器(使用Microsoft Office 2016)上,脚本会因为没有足够的可用存储空间而出现错误:

Win32::OLE(0.1712) error 0x8007000e: "Not enough storage is available to complete this operation"

我发现了很多关于此错误代码的引用,但没有一个特别有用。虽然this Microsoft support article说明了问题是什么以及如何解决这个问题,但我不知道为什么现在突然出现这个问题我现在转移到另一台服务器并且它似乎无法应用我的情况。

新服务器有大量的备用磁盘空间和RAM,因此应该有很多可用的东西。 (旧服务器的两者都少得多,但仍然有效。)

这可能与64位新服务器有关吗?

可能是因为Office的版本不同吗?

默认情况下,Apache或Perl的配置是否与旧服务器上安装的不同? (它是每个的新安装,但来自与旧服务器相同的源,我找不到任何限制内存的配置。)

一个有趣的观点让我相信它与通过Apache运行的脚本(v2.4.27)有关,如果我从命令行运行它(需要稍作修改),它就有效精细。 Apache作为一项服务运行,我尝试将其作为在命令行上运行的同一用户运行,并且没有任何影响。

我已经没有地方可以看了,现在可以试试,所以任何帮助都会受到赞赏。

更新(8月21日):由于似乎没有人有任何想法,我稍微重构了我的代码,以便通过计划任务调用它。这很好,支持我的理论,它与通过Apache运行它有关。我将保持这个问题的开放,部分原因在于提供解决方案,部分原因是我的解决方法可以帮助其他遇到类似问题的人。

0 个答案:

没有答案