【问题标题】:Issues with httpd DocumentRoot inside of Vagrant sync folderVagrant 同步文件夹中的 httpd DocumentRoot 问题
【发布时间】:2015-03-30 02:28:41
【问题描述】:

我已经在我的 Windows 8.1 机器上设置了 Vagrant LAMP 开发环境。来宾操作系统是 Centos 7。我的主要 vagrant 文件夹有一个名为 workspace 的子文件夹,我已同步到我的来宾上的 /var/www/workspace。我也有端口 80 被转发到来宾和 httpd 使用 /var/www/workspace 的 DocumentRoot 运行。当文件夹为空时,我得到标准的 apache 测试页。到目前为止一切都很好。

我在 SublimeText 中的主机上的工作区文件夹中创建了一个 index.html 文件,其中包含以下内容。

<html>
Test1
</html>

我在主机上的网络浏览器中检查了这个,得到了预期的结果

Test1

我继续编辑 index.html 文件,添加 head 和 body 标签和一些 div:

<html>
<head>
<title>Test site</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>

<div class="button"><a href="">Test1</a></div>
<div class="button"><a href="">Test2</a></div>

</body>
</html>

然后我更改链接中的文本并添加第三个 div。

<html>
<head>
<title>Test site</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>

<div class="button"><a href="">Blog</a></div>
<div class="button"><a href="">Resume</a></div>
<div class="button"><a href="">Experiments</a></div>

</body>
</html>

添加第三个 div 后,我的浏览器立即开始返回文件的先前版本,其中 Test1 和 Test2 作为链接文本。我确保我的浏览器缓存被禁用。我检查了 Chrome 开发控制台的网络部分,以确保该文件来自网络服务器,确实如此。我在客户机上签入 vi,索引文件包含博客、简历、实验链接。如果我通过添加新行或任何内容来修改 vi 中的文件,它可以解决问题。如果我删除第三个 div,它可以解决问题。如果我删除 css 参考线,它会解决问题。我不知道这个旧版本在哪里,也不知道为什么在进行某些更改时会返回它。我的假设是这是一个 vagrant 同步问题,但我愿意接受任何关于其他可能出错的想法。

【问题讨论】:

    标签: apache vagrant


    【解决方案1】:

    我已经找到了我的问题的答案,虽然不是一个理想的答案。看来这是 VirtualBox 的问题,而不是 Vagrant。可以在此处找到有关此问题的更多信息:

    Ticket 9069
    Ticket 819

    没有解决方案,但有一个建议的解决方法可以避免此问题。解决方法是将其添加到您的 httpd.conf:

    EnableSendfile off
    EnableMMAP Off
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-08
      • 2016-03-04
      • 1970-01-01
      • 2017-11-28
      • 1970-01-01
      • 2016-06-18
      • 2016-03-21
      • 1970-01-01
      相关资源
      最近更新 更多