Docker - Pourquoi les modifications apportées au fichier de configuration php ne prennent-elles pas effet ?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-30 09:52:41
0
4
1704

Solution

Lorsque le fichier de configuration est publié, la réponse est évidente. Le système dispose de deux fichiers PHP.

  1. php.ini-production

  2. php.ini

Je l'ai changé en php.ini -_- !!!

- ./php-fpm/php.ini-production:/usr/local/etc/php/php.ini:ro

Astuce Modifiez le fichier de configuration sans supprimer Docker, redémarrez simplement Docker docker-compose restart

Processus de problème

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() ?

Répertoire de projets

Profil

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
曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(4)
Ty80

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

.
Ty80

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal