【问题标题】:PHP Fatal error: Out of memory (allocated 1707606016) (tried to allocate 426680697 bytes)PHP致命错误:内存不足(分配1707606016)(试图分配426680697字节)
【发布时间】:2016-05-12 06:36:50
【问题描述】:

我在 DigitalOcean 上有一个 droplet,它是一个 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 memory apache2


【解决方案1】:

你可以改变php.ini

memory_limit = -1

并添加到 httpd.conf 并重启 Apache

【讨论】:

    【解决方案2】:

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

    问题已解决。明确地说,这与内存限制有关。

    【讨论】:

      【解决方案3】:

      你可以改变php.ini

      memory_limit = 128M
      

      并添加到 httpd.conf 并重启再重启apache

      【讨论】:

        猜你喜欢
        • 2014-04-04
        • 2011-09-12
        • 2017-03-02
        • 1970-01-01
        • 2018-01-14
        • 2018-12-03
        • 1970-01-01
        • 1970-01-01
        • 2014-05-27
        相关资源
        最近更新 更多