我在 OS X 上使用用于 docker 的 Virtualbox 驱动程序。使用官方WordPress docker 镜像,我从本地机器设置了一个卷来映射到容器
/Users/gezimhome/projects/zr/src :/var/www/html/wp-content/plugins/zr 当我更新主机中的文件时,它们在容器中显示已更新,但更改不会反射(reflect)在网站上 直到几分钟后。我怀疑它可能是 Apache 缓存的东西,因为我没有安装任何 WordPress 缓存插件。
更新 : 我没有尝试过其他类型的文件。当我在浏览器中加载站点(甚至使用 curl )时,PHP 文件没有被更新。
更新 2 : 这是 .htaccess文件。 这是docker virtualbox info
Best Answer-推荐答案
原来这是由 opcache 引起的在 PHP 中。在 wordpress docker image 中启用了 Opcache如下:
RUN { \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.fast_shutdown=1'; \
echo 'opcache.enable_cli=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini
所以,我创建了一个新的 docker image for wordpress that disables缓存。本质上是这样的:
FROM wordpress:latest
RUN rm -rf /usr/local/etc/php/conf.d/opcache-recommended.ini
关于php - Docker 容器中的 Apache、PHP、WordPress 缓存问题,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/35282452/
|