Apabila fail konfigurasi disiarkan, jawapannya jelas. Sistem ini mempunyai dua fail PHP.
php.ini-pengeluaran
php.ini
Saya tukar kepada php.ini -_-!!!
- ./php-fpm/php.ini-production:/usr/local/etc/php/php.ini:ro
docker-compose restart
Jika fail konfigurasi docker dan php yang digunakan berubah, gunakan docker-compose rm dan kemudian docker-comose up Mengapa tiada perubahan apabila melihat 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
Penjelasan yang munasabah ialah anda mengubah suainya
php.ini
并不是 docker 中运行 PHP 加载的php.ini
.Periksa laluan mana yang dimuatkan
php.ini
.Docker rm akan memadamkan konfigurasi yang diubah suai Anda perlu mengkonfigurasi php.ini setempat untuk dipetakan ke docker dalam docker-compose.yml
.Docker memuatkan php dalam pakej imej, tidak berguna untuk mengubah suai yang tempatan
php -i|grep php.ini untuk melihat sama ada fail yang dimuatkan adalah betul