我正在使用 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粉7152280192023-11-05 12:12:25
您的應用程式佔用了太多內存,而 DDEV 設定的預設 1GB 遠遠超出了大多數生產網站允許的內存,這一事實讓我無可奈何。但如果您想更改1GB 限制,可以使用.ddev/php/
中的設定檔來完成,建立目錄.ddev/php code> 並在其中新增一個ini 檔。請參閱 https://ddev。 readthedocs.io/en/latest/users/extend/customization-extendibility/#custom-php-configuration-phpini
例如,.ddev/php/memlimit.ini
可能包含以下內容:
[PHP] memory_limit = 2G
但是您需要弄清楚為什麼您的應用程式使用如此多的記憶體才能真正解決您的問題。