Ubuntu18.04上DDEV部署Drupal10内存耗尽问题求助
解决DDEV中Drupal 10内存耗尽问题
先修正你之前的配置错误
你之前在.ddev/php/php.ini里把配置项和重启命令混写在一起了,导致配置无效。正确操作:
- 打开
.ddev/php/php.ini,清空错误内容,只保留:memory_limit = 6G - 保存文件后,在项目根目录执行命令重启DDEV:
ddev restart
快速验证内存配置是否生效
不用创建phpinfo.php,直接用命令查看更高效:
- 查看Web环境的内存限制:
ddev exec php -r "echo ini_get('memory_limit');" - 查看命令行(如Drush)的内存限制:
ddev exec drush status | grep Memory
额外配置确保全局生效
如果上述配置仍不生效,在.ddev/config.yaml中添加以下内容(替换为你的PHP版本),确保Web和命令行环境统一使用指定内存限制:
php_version: "8.2" web_environment: - PHP_MEMORY_LIMIT=6G
添加后执行ddev restart使配置生效。
排查内存耗尽的根本原因
2G甚至6G内存耗尽,本质不是内存不足,而是代码层面存在问题:
- 先尝试清空Drupal缓存,缓解临时问题:
ddev exec drush cr - 检查
web/sites/default/settings.php中是否有硬编码的内存限制,比如ini_set('memory_limit', '2G');,如有则修改为6G或删除该行,让系统沿用php.ini配置。 - 排查最近新增的模块、主题或自定义代码:重点检查批量数据处理、无限循环、未释放大数组的逻辑,可借助Drupal的Devel模块内存分析工具定位内存占用点。
内容的提问来源于stack exchange,提问作者jeeva
相关产品推荐
相关产品推荐

