Maison  >  Questions et réponses  >  le corps du texte

Docker - Pourquoi les modifications apportées au fichier de configuration php ne prennent-elles pas effet ?

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
曾经蜡笔没有小新曾经蜡笔没有小新2642 Il y a quelques jours1612

répondre à tous(4)je répondrai

  • PHP中文网

    PHP中文网2017-06-30 09:54:41

    L'explication raisonnable est que vous l'avez modifié php.ini 并不是 docker 中运行 PHP 加载的 php.ini.

    Vérifiez quel chemin est chargé dans php.ini.

    répondre
    0
  • 三叔

    三叔2017-06-30 09:54:41

    Docker rm supprimera la configuration modifiée. Vous devez configurer le php.ini local pour le mapper au docker dans docker-compose.yml

    .

    répondre
    0
  • PHP中文网

    PHP中文网2017-06-30 09:54:41

    Docker charge php dans le package image, il est inutile de modifier le local

    répondre
    0
  • PHP中文网

    PHP中文网2017-06-30 09:54:41

    php -i|grep php.ini pour voir si le fichier chargé est correct

    répondre
    0
  • Annulerrépondre