PHP 致命错误:内存不足(已分配 1707606016)(已尝试分配 426680697 字节)

新手上路,请多包涵

我在 DigitalOcean 上有一个 droplet,它是一个 10 美元的包,1GB 内存,然后我升级到 20 美元的包。

所以这一切的开始是我试图使用 cURL 参数将文件从一台服务器上传到另一台服务器,现在的问题是……文件没有发送,因为我收到了这个美丽的错误。

 PHP Fatal error:  Out of memory (allocated 1707606016) (tried to allocate 426680697 bytes)

现在我将 memory_limit 设置为 2048MB,因为这是我在 VPS 上获得的内存量。现在在我升级之前,我只有 1024MB 的内存,当时的错误信息不同,这就是我得到的。

 PHP Fatal error:  Out of memory (allocated 530055168) (tried to allocate 529639729 bytes)

我的 VPS 有足够的内存来上传 403MB 的文件,而且我的 memory_limit 已经达到最大值,我没有办法升级服务器内存限制。

 memory_limit = 2048M
file_uploads = On
upload_max_filesize = 5000M
max_file_uploads = 20
allow_url_fopen = On
post_max_size = 0
max_execution_time = 90000
max_input_time = 90000

显然它看起来像是重复的,但我看过的所有帖子中的解决方案 都不 适合我。具有 memory_limit 的脚本实际上是一个处理程序,用于处理从备用服务器发送的 cURL 请求。

原文由 Cameron Swyft 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 718
1 个回答

你可以改变 php.ini

 memory_limit = -1

并添加到 httpd.conf 并重启 Apache

原文由 Pratik Kamani 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏