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


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

我在DigitalOcean上有一个液滴,它是一个带有1GB内存的10$包,然后我升级到了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请求。

您可以更改php.ini

memory_limit = -1

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

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

问题解决了。从定义上讲,这与记忆的局限性有关。

您可以更改php.ini

memory_limit = 128M

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

相关文章: