答案是运行php --ini确认cli专用php.ini路径,修改memory_limit=2g后用php -r "echo ini_get('memory_limit');"验证;docker/ci中应改用php -d memory_limit=2g参数或设置容器内存上限。

确认 CLI 用的是哪个 php.ini
改错配置文件是常见失败原因。Composer 运行在 PHP CLI 模式下,它不读 Apache 或 PHP-FPM 的 php.ini,只认 CLI 自己的配置。先查清楚路径:
运行 php --ini,看输出里 “Loaded Configuration File” 对应的路径(比如 /etc/php/8.2/cli/php.ini)。如果显示 “none”,说明 CLI 没加载任何配置,memory_limit 就是默认值(通常 128M)。
编辑正确的 php.ini 并设 memory_limit
找到上一步确认的文件,用文本编辑器打开,搜索 memory_limit。修改这一行:
- 设为
memory_limit = 2G(推荐,兼容性好,避免失控) - 不要写成
2GB或2048M——PHP 只认G、M、K单位,且不接受空格 - 别设
-1在共享环境或 CI 容器里,可能触发系统级 OOM
保存后无需重启 Web 服务,但新开终端或重新加载 shell 配置(如 source ~/.zshrc)才能让新终端生效。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
验证改对了没有
别靠猜,直接验证:
运行 php -r "echo ini_get('memory_limit');",输出应为 2147483648 或 2G。如果还是 128M 或空,说明你改的不是 CLI 正在用的那个 php.ini,或者文件权限/路径有误。
Docker 和 CI 环境慎用 php.ini 方案
在 Dockerfile 或 GitHub Actions 中硬改 php.ini 不仅麻烦,还容易和基础镜像冲突。更可靠的做法是命令行加参数:
php -d memory_limit=2G composer install- GitLab CI:
php -d memory_limit=2G /usr/bin/composer install - GitHub Actions 使用
composer/setup-php时,直接配memory-limit: 2G
真正容易被忽略的是:Docker 容器本身内存限制(--memory=2g)必须 ≥ PHP 层设置的 memory_limit,否则 PHP 进程会被系统直接 kill,报错变成无声的 Killed,而不是熟悉的 Allowed memory size exhausted。










