我在使用 Apache 时遇到了一些奇怪的行为。我在本地机器上设置了几个虚拟主机。我目前在其中一个虚拟主机上遇到这种情况,因为我一直在做开发工作,但是我认为它也发生在另一个本地站点上。
这是发生了什么:
我去 nekst.local 并且页面加载正常。我不断刷新页面以检查我更新的代码。突然间,我在控制台中收到所有资产的 403 错误,但页面加载(减去资产)。如果我再次刷新,我会在浏览器中收到 403 错误,而不是页面加载。如果我重新启动 apache 一切工作一段时间,然后突然再次发生。
我最近确实下载了 xdebug 并将其添加到我的 php.ini 中。我不确定这是否会导致任何问题。
我在 osx yosemite 上运行 apache 2.4.9、php 5.5.14
我的虚拟主机:
<Directory "/Users/shawn/Documents/work/sites/mindbox/nekst/webapp/web">
Require all granted
AllowOverride All
</Directory>
<VirtualHost *:80>
DocumentRoot "/Users/shawn/Documents/work/sites/mindbox/nekst/webapp/web"
ServerName nekst.local
ErrorLog "/Users/shawn/Documents/work/sites/mindbox/nekst/webapp/app/logs/error_log"
CustomLog "/Users/shawn/Documents/work/sites/mindbox/nekst/webapp/app/logs/access_log" common
</VirtualHost>
和我的目录:
drwxr-xr-x 15 shawn staff 510 Jan 27 10:25 web
您是否尝试过查看错误日志以获取更多详细信息?
我在开发 PHP 时总是运行以下命令,以了解任何注意事项。它还可以帮助您缩小此问题的范围:
完成后 Ctrl-C
你在 apache 中启用了 mod_evasive 吗?我有同样的问题,禁用它后,问题就消失了。有关调整 mod_evasive 值的指南,请参见此处:http: //www.faqforge.com/linux/prevent-dos-attacks-on-apache-webserver-for-debian-linux-with-mod_evasive/