Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 其中';应用的缓存是Apache还是浏览器?_Php_Firefox_Caching_Apache2_Virtualbox - Fatal编程技术网

Php 其中';应用的缓存是Apache还是浏览器?

Php 其中';应用的缓存是Apache还是浏览器?,php,firefox,caching,apache2,virtualbox,Php,Firefox,Caching,Apache2,Virtualbox,我正在运行安装了CentOS 5.8的VirtualBox服务器,为希望后端使用1366px x 768px固定宽度布局而不是现有的1024px x 768px的客户开发一个新的管理界面 httpd server is 'stock' Apache/2.2.3 as supplied as part of CentOS 5.8 php is 'stock' PHP 5.3.3 as supplied as part of CentOS 5.8 大部分工作都是对css文件进行更改,以利用额外的

我正在运行安装了CentOS 5.8的VirtualBox服务器,为希望后端使用1366px x 768px固定宽度布局而不是现有的1024px x 768px的客户开发一个新的管理界面

httpd server is 'stock' Apache/2.2.3 as supplied as part of CentOS 5.8

php is 'stock' PHP 5.3.3 as supplied as part of CentOS 5.8
大部分工作都是对css文件进行更改,以利用额外的宽度,因为这一切都与客户端的布局有关

问题是,文件被缓存在某个地方,而我没有看到对css文件所做的更改。Shift F5和Ctrl F5在客户端浏览器上没有区别

这让我发疯,而且要花很长时间才能解决,所以我在这里发帖子是为了呼救。我已经尝试了一些关于.htaccess调整和向链接css文件添加参数的假定“解决方案”,但都没有效果

我觉得这是一个httpd问题,但许多所谓的“专家”都坚持认为这是一个浏览器问题。我已经在MS Explorer、Opera、Chrome和Opera Mobile Emulator中进行了测试,但没有看到css在任何情况下立即发生变化

我希望有人能帮忙,因为这一定会让其他开发人员感到沮丧


如何禁用VirtualBox CentOS环境和Firefox v17上的所有缓存?

缓存可以发生在多个级别:服务器、浏览器或两者之间(代理、ISP、路由器等)

您是否安装了任何服务器端缓存软件?清漆、Pagespeed或类似的东西

您可以通过向文件名中添加一个可变URL查询字符串来中断缓存,例如加载
mystyle.css?r=34234235
,而不仅仅是
mystyle.css
。更改该数字将导致强制将其作为新URL重新加载,而无需缓存,无论在何处进行缓存

直接回答您的问题:在Firefox中,您可以通过打开选项窗口、高级选项、网络选项卡来最终清除缓存。这里有一个“清除缓存”按钮。如果这是一个浏览器缓存问题,这应该可以为您解决这个问题。这里还有一个管理缓存大小的功能。将此值设置为零,以防止firefox缓存任何内容(但请做好准备,让它加载页面的速度大大降低)。

谢谢

这不是路由器或ISP的问题,因为服务器只是托管在VirtualBox容器中,文档根指向挂载的共享文件夹

我使用这种方法是因为我必须支持一些不同的网站,一些主机运行PHPV5.2,另一些主机运行v5.3。这也意味着我可以很容易地检查有关弃用函数的问题

我尝试使用addon查询字符串作为样式表名称,但是“视图源”显示了新名称,而内容仍然是“旧”的样式表

这不是一个浏览器问题,因为Chrome、IE和Firefox都显示了相同的问题,所以这肯定是Apache服务器的问题

没有安装服务器端软件,它是CentOS 5.8 DVD中的一个简单的“yum install httpd*”

通过创建work-in-progress.php并在文件顶部添加以下内容,我绕过了缓存css的问题:

<?php
header("Content-type: text/css; charset: UTF-8");
?>

然后,我使用.php扩展名将样式表作为文件中的最后一项加载

<link rel='stylesheet' type='text/css' href='work-in-progress.php'>

这有点俗气,但至少对css有效

我仍然需要在Apache配置中解析要更改的参数,因为图像也在缓存中,除非每次修改背景图像时都更改文件名,否则仍然会收到“旧”图像


我尝试在做出更改后重新启动服务httpd,但这似乎没有任何影响。

我也遇到了同样的问题。我在这里找到了解决方案:

问题是VirtualBox的共享文件夹不完全支持
sendfile()
,所以您必须在apache/nginx配置文件中关闭它:

apache: EnableSendfile off

nginx: sendfile off;
它对我有用