我在使用 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
答案1
您是否尝试过查看错误日志以了解更多详细信息?
我在开发 PHP 时总是运行以下命令,以了解任何通知。它也可能帮助您缩小此问题的范围:
tail --follow=name -n 100 /Users/shawn/Documents/work/sites/mindbox/nekst/webapp/app/logs/error_log
完成后按 Ctrl-C
答案2
你在 apache 中启用了 mod_evasive 吗?我遇到了同样的问题,禁用它后问题就解决了。请参阅此处的 mod_evasive 值调整指南: http://www.faqforge.com/linux/prevent-dos-attacks-on-apache-webserver-for-debian-linux-with-mod_evasive/