J'utilise un docker interne d'environnement shopware6 local en utilisant la configuration DDEV.
Après avoir essayé d'obtenir tous les produits (~11 000) via https://sw6.ddev.site/api/search/product
, j'obtiens l'erreur suivante :
错误:允许的内存大小 1073741824 字节已耗尽(尝试分配 88686592 字节)
Il m'a fait remarquer :
“文件”:“/var/www/html/vendor/symfony/http-foundation/Response.php”,“行”:381
Le contenu est :
/** * Sends content for the current web response. * * @return $this */ public function sendContent() { echo $this->content; return $this; }
Grâce à notre serveur intermédiaire, je sais comment ajuster la limite de mémoire et résoudre le problème, mais dans mon environnement local, j'ai défini memory_limit = 1024M
。通过 SSH 连接到我的容器并执行 输出类似于
memory_limit => -1 => -1
Les possibilités suivantes sont désormais disponibles : Le serveur ne peut pas (je ne sais pas pourquoi) traiter ma demande en raison d'une limite de mémoire non plafonnée
Toute DDEV、.env 或 .htaccess
configuration écrasera le fichier php.ini que j'ai modifié.
Le chemin d'accès au fichier php.ini que j'ai édité :
/var/www/html/config/etc/php7/conf.d/php.ini
Contenu du php.ini :
[Date] date.timezone="UTC" memory_limit = 1024M upload_max_filesize = 6M max_execution_time = 30
Je suis dépassé par le fait que votre application occupe trop de mémoire, et la valeur par défaut de 1 Go définie par DDEV est bien supérieure à ce que la plupart des sites de production autorisent. Mais si vous souhaitez modifier la limite de 1 Go, vous pouvez le faire en utilisant le fichier de configuration dans
.ddev/php/.ini
, créer le répertoire.ddev/php code> et y ajouter un fichier ini. Voir https://ddev. readthedocs.io/en/latest/users/extend/customization-extendibility/#custom-php-configuration-phpini
Par exemple,
.ddev/php/memlimit.ini
.ddev/php/memlimit.ini peut contenir les éléments suivants :Mais vous devez comprendre pourquoi votre application utilise autant de mémoire pour vraiment résoudre votre problème.