当前位置: 首页 > 知识库问答 >
问题:

PHP允许在Laravel/interference中耗尽内存大小

申屠泳
2023-03-14

我有一个网页,可以将图像上传到我的API Laravel项目。它一直工作到我上传大小巨大或等于2mb的图像,并在nginx 500错误中运行:

2018/02/24 15:57:50 [error] 3420#3420: *19 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /var/www/project-folder/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php on line 136
PHP message: PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 73728 bytes) in /var/www/project-folder/vendor/composer/ClassLoader.php on line 444" while reading response header from upstream, client: *IP*, server: api.website.com, request: "POST /api/v1/posts HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "api.website.com"

我在stack overflow和google上读到了大量相同的问题,但似乎没有任何效果。

仔细阅读错误消息,我可以理解,从我的PHP配置,该网站可以采取134217728字节的内存,但它无法尝试分配73728字节:它有任何意义吗?它只在允许的最大128mb的0.7mb内存上失败!

另一件奇怪的事情是,从我加载的php.ini文件(运行php-i | grep'php.ini'时,我得到了一条消息加载的配置文件=

  1. 内存限制=

我已经试着重新启动php fm,重新启动服务器,将ini_集('memory_limit','256M') 在我的php类中插入代码之前,但什么都没有发生。

为什么会发生这种情况?为什么128MB/0.7MB如果我有256M/16MB在我的php配置?

谢谢


共有1个答案

曹渝
2023-03-14

你应该编辑这个文件

/etc/php/7.0/fpm/php.ini

试着从ini文件中分配内存

这里的摘录

一般来说,当从命令行调用PHP二进制文件时,将使用cli/php.ini文件。您可以从命令行检查正在运行的php--ini。

当php作为fpm运行时,将使用fpm/php.ini——nginx安装就是这种情况。您可以检查从Web服务器提供的php页面调用phpinfo()

 类似资料:
  • 在同一个系统中,我可以调用数据库,没有问题,但在某些情况下(与最大的表),我得到 “PHP致命错误:第311行的/home/forge/sximo.sp-marketing.com/vendor/laravel/framework/src/light/Database/Connection.PHP中允许的内存大小为536870912字节(尝试分配32字节) 我调试了代码,问题是一个基本查询: 当我

  • 我正在尝试运行artisan make:controller。 我有一个问题: 我试图增加

  • 当我试图在PHP中操作大量数组并将结果作为HTTP POST请求的响应返回时,我遇到了一个致命错误: 允许内存大小536870912字节已用尽 我已经尝试设置以查看是否得到结果,但没有得到任何类型的响应。邮递员在我试图发出邮寄请求时总是崩溃。 数组的起始结构是这个。机身尺寸约为25mb。主阵列包含大约22k个具有此结构的阵列,我刚刚包括2个: 下面是php部分,用于操纵数组,以便通过分解每个用户的

  • 当我试图在PHP中操作大量数组并将结果作为HTTP POST请求的响应返回时,我遇到了一个致命错误: 允许内存大小536870912字节已用尽 我已经尝试设置以查看是否得到结果,但没有得到任何类型的响应。邮递员在我试图发出邮寄请求时总是崩溃。 数组的起始结构是这个。机身尺寸约为25mb。主阵列包含大约22k个具有此结构的阵列,我刚刚包括2个: 下面的php部分用于操作数组,以便通过爆炸每个用户的时

  • 我有以下代码: 不同的文件: 由于我编写了Mail()函数,因此出现以下错误: 致命错误:允许的内存大小134217728字节已用尽(尝试分配65488字节)

  • 问题内容: 我没有处理大文件的经验,所以我不确定该怎么办。我试图使用 file_get_contents 读取几个大文件;任务是使用 preg_replace() 清洁和修补它们。 我的代码在小文件上运行良好;但是,大文件(40 MB)触发内存耗尽错误: 我当时在考虑使用 fread(), 但是我不确定那也行。有解决此问题的方法吗? 感谢您的输入。 这是我的代码: 问题答案: 首先,您应该了解,在