docker - php設定檔改變為什麼沒有生效?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-30 09:52:41
0
4
1659

解決

當把設定檔貼出來時,答案盡顯眼前。系統有兩個PHP檔。

  1. php.ini-production

  2. php.ini

#我改是php.ini -_-!!!

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

#Tip 修改設定文件,不用刪除docker,重啟docker即可 docker-compose restart

問題過程

使用的docker,php設定檔改變,使用docker-compose rm 然後 docker-comose up .為什麼在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
曾经蜡笔没有小新
曾经蜡笔没有小新

全部回覆(4)
Ty80

合理的解釋就是你修改的 php.ini 不是 docker 中運行 PHP 加載的 php.ini

你看一下 php.ini 中載入的是哪個路徑下的吧。

三叔

docker rm會把修改的配置刪除的,要在docker-compose.yml中配置本機的php.ini映射到docker

Ty80

docker 載入的是映像包裡面的 php,修改本機的沒用

洪涛

php -i|grep php.ini看一下載入的檔案對不對

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!