我正在运行本地shopware6环境内部docker与DDEV配置。
尝试通过https://sw6.ddev.site/api/search/product
获取所有产品(~11.000)后,我得到以下错误:
Error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 88686592 bytes)
和我分:"file": "/var/www/html/vendor/symfony/http-foundation/Response.php", "line": 381
内容是:
/**
* Sends content for the current web response.
*
* @return $this
*/
public function sendContent()
{
echo $this->content;
return $this;
}
我从我们的登台服务器知道如何调整内存限制并解决问题,但在我的本地环境中,我设置了memory_limit = 1024M
。ssh到我的容器并执行<?php phpinfo(); ?>
,输出像memory_limit => -1 => -1
现在有两种可能性:由于未封顶内存限制,服务器无法(不知道为什么)处理我的请求
任何DDEV, .env or .htaccess
配置php . ini文件覆盖了我的修改。
我编辑的php.ini文件的路径:/var/www/html/config/etc/php7/conf.d/php.ini
php.ini目录:
[Date]
date.timezone="UTC"
memory_limit = 1024M
upload_max_filesize = 6M
max_execution_time = 30
我不能帮助你的应用是吃太多的记忆,和默认的1 gb, DDEV设置远远超过大多数生产基地将允许。但是如果您想更改1GB的限制,您可以在.ddev/php/<name>.ini
中创建一个配置文件,创建目录.ddev/php
并向其中添加一个ini文件。看到https://ddev.readthedocs.io/en/latest/users/extend/customization-extendibility/custom-php-configuration-phpini
例如,.ddev/php/memlimit.ini
可能包含以下内容:
[PHP]
memory_limit = 2G
但是你需要弄清楚为什么你的应用程序使用这么多内存来真正解决你的问题。