PHP内置开发服务器:禁用缓存

Posted

技术标签:

【中文标题】PHP内置开发服务器:禁用缓存【英文标题】:PHP built-in development server: disable caching 【发布时间】:2014-10-03 02:05:42 【问题描述】:

有时我喜欢使用 php 的内置开发服务器来处理快速的事情,例如:

php -S 127.0.0.1:8888

但是我似乎不时遇到严重的缓存问题,我需要重新启动服务器才能看到即使是简单的 html 更改。

我找不到任何选项来禁用此功能或以其他方式查明可能导致这种挫败感的原因。

注意:我在执行此操作时通常会打开 Chrome 的开发者工具并禁用浏览器缓存。我认为这不是浏览器缓存问题。

有什么我可以尝试的吗?

【问题讨论】:

虽然在控制台中禁用缓存应该没有必要,但是当您使用shift-F5 时,您是否得到了正确的重新加载? 感谢迈克尔的建议。我 99% 确定这不是客户端缓存,因为我有足够的经验。不过,PHP 服务器可能会发送一些激进的缓存标头,并使我的浏览器的行为与我习惯的不同。我会检查的。 【参考方案1】:

如果修改您的 php 脚本不会导致更改,则可能是操作码缓存而不是浏览器缓存的问题(浏览器缓存应该很容易被 CTRL-F5CTRL-R 覆盖,具体取决于您的操作系统) .当服务器正在预编译您的 php 代码以加快响应速度时,就会发生这种情况。

我就是这种情况,所以我进入 /etc/php5/cli/conf.d/ 并找到了指向 05-opcache.ini 的符号链接并删除了该符号链接,然后重新启动了内置服务器。从那时起,我对 php 代码进行编辑时页面不会更改的问题得到了解决。

【讨论】:

以上是关于PHP内置开发服务器:禁用缓存的主要内容,如果未能解决你的问题,请参考以下文章

为什么我的PHP内置开发服务器不再响应?

Redis禁用持久化功能的设置

tp6内置服务器性能如何

现代 PHP 新特性 —— 内置的 HTTP 服务器 (转)

PHP开发APP接口

前端学PHP之日期与时间