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

问题描述 投票:0回答:3

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

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

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

现在我将memory_limit设置为2048MB,因为这是我在VPS上获得的MB内存量。在我升级之前,我只有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请求的处理程序。

php memory apache2
3个回答
0
投票

你可以改变php.ini

memory_limit = -1

并添加到httpd.conf并重新启动Apache


0
投票

我在1GB RAM和1CPU的DigitalOcean液滴中遇到了同样的问题。试图安装两个不同的LMS系统,Claroline和Chamilo。我将Droplet升级到2GB的RAM和相同的CPU。

问题解决了。确切地说,它与内存限制有关。


-1
投票

你可以改变php.ini

memory_limit = 128M

并添加到httpd.conf并重新启动并重新启动apache

© www.soinside.com 2019 - 2024. All rights reserved.