我在 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 许可协议
你可以改变 php.ini
并添加到 httpd.conf 并重启 Apache