我已经创建了一个 repo,用于在 PHP7.3 上使用 Docker 设置 WP,在 php-fpm 上使用最新的 WordPress,我遇到了同样的问题:https : //github.com/dingo-d/wordpress-docker
你可以检查一下,看看可能是什么问题。我的猜测是 PHP-FPM 必须是问题所在(因为重新启动该容器会使更改传播)。
我按照我在此处找到的教程创建了一个 WordPress docker 本地开发环境。
基本上,我所有的 docker 东西都位于.docker文件夹中。
我在.docker文件夹中有这些文件
|--project-folder
|____.docker
| |____php-fpm
| | |____php.ini
| | |____Dockerfile
| |____nginx
| | |____Dockerfile
| | |____logs
| | | |____error.log
| | | |____access.log
| | |____certs
| | | |____dev.project.com.key
| | | |____dev.project.com.crt
| | |____scripts
| | | |____docker-nginx-entrypoint.sh
| | |____nginx.conf
| |____.dockerignore
| |____.env
| |____docker-compose.yml
| |____.env.example
在尝试使用自签名 SSL 证书设置所有内容后,我可以登录https://localhost:8443(我在设置主机文件时https://dev.project.com遇到了一些问题,以便我可以访问,但这是另一个问题)。
问题是,当我去更改我的主题中的某些内容时,比如添加一个print_r应该只打印出一些内容的语句,只有在我重新启动 WordPress 应用程序容器后,我才能在 WP 管理员中看到该更改。文件夹被映射,当我在本地更改内容并执行到容器时,这些更改会立即存在(当我在容器中执行时删除它们时,它们会立即在我的编辑器中删除)。
我已经测试过我在网上找到的一个超级简单的 WordPress Docker 设置是否会发生同样的事情
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: user
MYSQL_PASSWORD: password
app:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
volumes:
- ./wp-content/:/var/www/html/wp-content
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: user
WORDPRESS_DB_PASSWORD: password
volumes:
db_data:
当我启动它并转到localhost:8000我可以立即看到更改而无需重新启动容器(当我在编辑器中编辑文件时)。
qq_笑_17