如何在 docker 容器中修改 php.ini 中的最大内存限制

Dia*_*ana 5 mac docker

在 MAC 上的 docker 容器中,我收到一个 php 内存错误:

Fatal error:  Allowed memory size of 404750336 bytes exhausted (tried to allocate 266342400 bytes
Run Code Online (Sandbox Code Playgroud)

如何找到 php.ini 文件所在的位置,或者如何在 docker 中修改此参数?

小智 11

在 Dockerfile 中添加以下行可以帮我完成这项工作

RUN echo 'memory_limit = 2048M' >> /usr/local/etc/php/conf.d/docker-php-memlimit.ini;
Run Code Online (Sandbox Code Playgroud)


Kam*_*her 9

取决于图像,但通常足够了

ENV PHP_MEMORY_LIMIT=128M

在 - 的里面Dockerfile

请注意:单位是单个字母,M表示 MB(或GGB)。
否则,它将默默地忽略该值并保留默认限制(64M?执行 aRUN echo $PHP_MEMORY_LIMIT即可了解)。
由于习惯,我经常陷入这个陷阱。