Lorsque le fichier de configuration est publié, la réponse est évidente. Le système dispose de deux fichiers PHP.
php.ini-production
php.ini
Je l'ai changé en php.ini -_- !!!
- ./php-fpm/php.ini-production:/usr/local/etc/php/php.ini:ro
docker-compose restart
Si les fichiers de configuration docker et php utilisés changent, utilisez docker-compose rm puis docker-comose up Pourquoi n'y a-t-il aucun changement lorsque vous regardez phpinfo() ?
docker-compose.yml
# web server
nginx:
image: nginx:latest
ports:
- "80:80"
- "443:443"
volumes:
# app
- ./app/src:/usr/share/nginx/html
# nginx configs
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/conf.d/:/etc/nginx/conf.d/:ro
# certificates
#- ./nginx/ca/server.crt/:/etc/nginx/server.crt:ro
#- ./nginx/ca/server.key/:/etc/nginx/server.key:ro
links:
- fpm:__DOCKER_PHP_FPM__
# php-fpm
fpm:
build: ./php-fpm
ports:
- "9000"
volumes:
- ./app/src:/usr/share/nginx/html
# Your php.ini
- ./php-fpm/php.ini-production:/usr/local/etc/php/php.ini:ro
# environment:
# Set your APP env variables here:
# - APP_KEY=
# - DB_HOST=
# - DB_DATABASE=
# - DB_USERNAME=
# - DB_PASSWORD=
links:
- mysql:mysql
# database
mysql:
image: mysql:latest
ports:
# Allow client to access 3306
- "3306:3306"
volumes:
# NOTE: your data will be stored in ./mysql
- ./mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root123
L'explication raisonnable est que vous l'avez modifié
php.ini
并不是 docker 中运行 PHP 加载的php.ini
.Vérifiez quel chemin est chargé dans
php.ini
.Docker rm supprimera la configuration modifiée. Vous devez configurer le php.ini local pour le mapper au docker dans docker-compose.yml
.Docker charge php dans le package image, il est inutile de modifier le local
php -i|grep php.ini pour voir si le fichier chargé est correct