首页 > 解决方案 > 如何禁用 Apache 上 php 文件的服务器端缓存?

问题描述

这个问题类似于:禁用php文件缓存以进行调试

目前,我尝试调试一个 PHP 网站,但我发现存在一些缓存问题。当我更新 PHP 文件时,更新可能现在可用也可能不可用。我什至删除了 index.php,网站仍在运行。

这不是浏览器缓存问题,因为我使用 Chrome Incognito + Chrome Developer 并选中了“禁用缓存”+“空缓存并硬重新加载”。

我认为问题在于 PHP 已升级到 7.3.XX(从 5.X)并且默认启用了 OPcache 模块。

有没有办法忽略这个模块。该网站采用共享托管计划,因此我可能无法编辑配置文件。

编辑: OPcache 未在 Cpanel 中激活。我也降级到 PHP 5.6,问题仍然存在。

新观察:在 PHP 降级之前,我得到了一个打印 phpinfo() 的 info.php 文件。它曾经并且仍然将 7.3 显示为版本(缓存?)。我创建了该文件的副本并将其命名为 info2.php。这个显示 5.6 作为 PHP 版本。所以在某个地方仍然有一个缓存。

另外,.htaccess 文件是否也可能被缓存?

标签: phpapachecachingopcache

解决方案


如果您的主机已启用user.ini文件,您可以在项目目录中放置一个 ini 文件,其中包含:

opcache.enable=0

PHP 手册 - Opcache 配置


推荐阅读