我有一个网页,可以将图像上传到我的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'
时,我得到了一条消息加载的配置文件=
内存限制=
我已经试着重新启动php fm,重新启动服务器,将
ini_集('memory_limit','256M')
在我的php类中插入代码之前,但什么都没有发生。
为什么会发生这种情况?为什么128MB/0.7MB如果我有256M/16MB在我的php配置?
谢谢
你应该编辑这个文件
/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(), 但是我不确定那也行。有解决此问题的方法吗? 感谢您的输入。 这是我的代码: 问题答案: 首先,您应该了解,在