首頁  >  問答  >  主體

DDEV中如何設定PHP memory_limit

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

嘗試透過 https://sw6.ddev.site/api/search/product 取得所有產品(~11.000)後,出現下列錯誤:

錯誤:允許的記憶體大小 1073741824 位元組已耗盡(嘗試分配 88686592 位元組)

#

它向我指出: “檔案”:“/var/www/html/vendor/symfony/http-foundation/Response.php”,“行”:381

#

內容是:

/**
     * Sends content for the current web response.
     *
     * @return $this
     */
    public function sendContent()
    {
        echo $this->content;

        return $this;
    }

我從我們的登​​台伺服器知道如何調整記憶體限制並解決問題,但在我的本地環境中我設定了 memory_limit = 1024M。透過 SSH 連接到我的容器並執行 輸出類似於 memory_limit => -1 => -1

#

現在有以下可能性: 由於無上限的記憶體限制,伺服器無法(不知道為什麼)處理我的請求

任何 DDEV、.env 或 .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


#
P粉275883973P粉275883973373 天前682

全部回覆(1)我來回復

  • P粉715228019

    P粉7152280192023-11-05 12:12:25

    您的應用程式佔用了太多內存,而 DDEV 設定的預設 1GB 遠遠超出了大多數生產網站允許的內存,這一事實讓我無可奈何。但如果您想更改1GB 限制,可以使用.ddev/php/.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

    但是您需要弄清楚為什麼您的應用程式使用如此多的記憶體才能真正解決您的問題。

    回覆
    0
  • 取消回覆