Maison  >  Questions et réponses  >  le corps du texte

Comment définir PHP memory_limit dans DDEV

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


P粉275883973P粉275883973366 Il y a quelques jours676

répondre à tous(1)je répondrai

  • P粉715228019

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

    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 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 :

    [PHP]
    memory_limit = 2G

    Mais vous devez comprendre pourquoi votre application utilise autant de mémoire pour vraiment résoudre votre problème.

    répondre
    0
  • Annulerrépondre