使用 WAMP 作为本地服务器时显示过时的信息

使用 WAMP 作为本地服务器时显示过时的信息

我正在运行 WAMP 作为我的网络中计算机的本地服务器。

问题是,当我尝试从这些计算机对数据库执行任何操作时,似乎这些操作都没有发生,尽管确实发生了。

我有一个名为的 mysql 表,person其中有字段,id,lastname,name当我尝试添加新字段person或编辑其中一个字段时,一切似乎都很好,但是当我检查是否person已添加/编辑时,似乎还没有,甚至当我检查数据库时,更改已经完成。

进一步挖掘后,我意识到当我通过访问我的系统时, http://localhost/system/数据库的所有更改都会立即反映出来,但是当我通过 IP 地址访问系统时http://12.12.123.12/system/,更新不会显示,直到我关闭网页或点击刷新大约 5 次。

httpd配置文件

ServerRoot "c:/wamp/bin/apache/apache2.2.21"
Listen 80
ServerName localhost:80
DocumentRoot "c:/wamp/www/"
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

<Directory "c:/wamp/www/">
Options Indexes FollowSymLinks
AllowOverride all
Order Allow,Deny
    Allow from all

</Directory>

长话短说,数据库方面一切都正常,当我通过数据库查看我的页面时,localhost一切都正常,问题是当我从 IP 地址访问它时

最后更新
我的应用程序有一个<iframe>包含显示信息所需的所有表格的页面,结果发现是框架没有刷新,所以它显示了过时的信息。我不得不添加 2 行代码,这样它就不会缓存信息并始终显示当前信息。以下是我添加的内容:

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past

答案1

如果您的数据库立即反映出更改,并且通过本地主机访问网站也立即反映出这些更改,但在外部访问时更改出现得很慢,那么我的第一反应是您需要检查缓存。

这可以帮助您开始了解 Apache 缓存:http://httpd.apache.org/docs/2.2/caching.html

如果你通过 Varnish 提供服务,那么它也是一个缓存和反向代理工具。此外,你的浏览器可能会缓存你,更不用说如果你正在使用标准的 Web 代理

相关内容