PHP致命错误:内存不足(已分配1707606016)(尝试分配426680697字节)
我在DigitalOcean上安装了一个10美元的软件包,内存为1GB,然后我升级到了20美元的软件包 这一切是如何开始的,我试图使用cURL参数将文件从一台服务器上传到另一台服务器,现在的问题是。。。文件没有发送,因为我收到了这个漂亮的错误PHP致命错误:内存不足(已分配1707606016)(尝试分配426680697字节),php,memory,apache2,Php,Memory,Apache2,我在DigitalOcean上安装了一个10美元的软件包,内存为1GB,然后我升级到了20美元的软件包 这一切是如何开始的,我试图使用cURL参数将文件从一台服务器上传到另一台服务器,现在的问题是。。。文件没有发送,因为我收到了这个漂亮的错误 PHP Fatal error: Out of memory (allocated 1707606016) (tried to allocate 426680697 bytes) 现在我将内存限制设置为2048MB,因为我的VPS上有多少MB的内存。现
PHP Fatal error: Out of memory (allocated 1707606016) (tried to allocate 426680697 bytes)
现在我将内存限制设置为2048MB,因为我的VPS上有多少MB的内存。现在在升级之前,我只有1024MB的内存,错误信息在当时是不同的,这就是我得到的
PHP Fatal error: Out of memory (allocated 530055168) (tried to allocate 529639729 bytes)
我的VPS有足够的内存来上传403MB的文件,而且我的内存限制已经达到最大,我没有办法升级服务器的内存限制
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
很明显,这看起来像是重复的,但是我看过的所有帖子上的解决方案对我来说都不管用。具有内存限制的脚本实际上是一个处理从备用服务器发送的cURL请求的处理程序 您可以更改php.ini
memory_limit = 128M
memory_limit = -1
并添加到httpd.conf
然后重新启动并重新启动apache您可以更改php.ini
memory_limit = 128M
memory_limit = -1
然后添加到httpd.conf并重新启动Apache我在一个1GB RAM和1CPU的DigitalOcean微滴中遇到了同样的问题。
尝试安装两个不同的LMS系统,Claroline和Chamilo我将微滴升级到2GB的RAM和相同的CPU。
问题解决了。实际上,这与内存限制有关。可能重复太糟糕了,该帖子上的解决方案也不起作用。这里的问题是,您有2GB可用空间,但已经分配了1.7GB,因此实际上没有足够的空间再容纳426MB(超过2GB)如何通过cURL发送一个文件并使用file\u put\u内容使用这么多,需要超过2GB?特别是如果文件是400mbHi,您可以发布用于上传文件的代码吗?。我想知道这是不是内存泄漏之类的问题?