簡體   English   中英

如何在 DDEV 中設置 PHP memory_limit

[英]How to set PHP memory_limit in DDEV

我正在使用 DDEV 配置運行本地 shopware6 環境內部 docker。

嘗試通過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(); ?> <?php phpinfo(); ?>輸出就像memory_limit => -1 => -1

現在有可能:由於無上限的內存限制,服務器無法(idk 為什么)繼續我的請求

任何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

我無法解決您的應用程序占用太多內存的事實,並且 DDEV 設置的默認 1GB 遠遠超過大多數生產站點所允許的。 但是,如果您想更改 1GB 的限制,您可以使用.ddev/php/<name>.ini中的配置文件來完成,請參閱https://ddev.readthedocs.io/en/latest/users/extend/定制-可擴展性/#providing-custom-php-configuration-phpini

例如,您的.ddev/php/memlimit.ini可能包含以下內容:

[PHP]
memory_limit = 2G

但是您需要弄清楚為什么您的應用程序使用如此多的內存來實際解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM