为什么Laradock中修改php.ini配置后不生效?
问题原因
php-fpm 容器是处理Web请求的运行环境,workspace 是独立的CLI命令运行容器,二者的php.ini配置分开维护,修改其中一个不会同步到另一个。
修复方案
1. 修复Web端(phpinfo对应)错误显示不生效
- 确认Laravel项目根目录
.env文件中APP_DEBUG参数设置为true,Laravel框架会强制覆盖php.ini的错误显示配置,该参数为false时无论php.ini如何设置都不会展示错误 - 重新构建无缓存的php-fpm容器,避免构建缓存导致配置未生效:
sudo docker-compose build --no-cache php-fpm
- 重启php-fpm容器:
sudo docker-compose up -d --force-recreate php-fpm
- 验证配置生效:进入php-fpm容器查看对应配置(将路径替换为phpinfo中显示的
Loaded Configuration File路径)
sudo docker-compose exec php-fpm cat 【你的phpinfo显示的ini路径】 | grep display_errors
输出应为display_errors => On => On即为生效
2. 修复workspace容器CLI模式错误显示不生效
- 不要修改php-fpm目录下的ini文件,workspace的配置文件存放在宿主机Laradock目录的
workspace/php7.2.ini,修改该文件中的display_errors = On - 重新构建无缓存的workspace容器:
sudo docker-compose build --no-cache workspace
- 重启workspace容器:
sudo docker-compose up -d --force-recreate workspace
- 验证配置生效:
sudo docker-compose exec workspace php -i | grep display_errors
输出应为display_errors => On => On即为生效
内容的提问来源于stack exchange,提问作者serii
相关产品推荐
相关产品推荐

