无法获取apache来访问PHP项目的/Users/username/Documents
。
httpd.conf
User admin
Group staff
username.conf
AllowOverride All
Options Indexes MultiViews
Options +FollowSymlinks
Require all granted
Folder permission
drwxr-xr-x /Users
drwxr-xr-x+ /Users/kristiannissen
drwx------+ /Users/kristiannissen/Documents
当我访问我的项目URL时,我在apache错误日志
中得到了这个[Thu Oct 23 21:25:58.528515 2014] [core:error] [pid 1887] (13)Permission denied: [client 127.0.0.1:52157] AH00035: access to / denied (filesystem path '/Users/kristiannissen/Documents') because search permissions are missing on a component of the path
[Thu Oct 23 21:27:45.287472 2014] [mpm_prefork:notice] [pid 1882] AH00169: caught SIGTERM, shutting down
我按照http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/的指南进行了部分操作,但它仍无效。
在升级到os 10.10之前它已经完美运行了,现在localhost不再显示来自apache的“它正常工作”。
答案 0 :(得分:0)
来自链接。你有文件/etc/apache2/users/kristiannissen.conf
吗?
并且该文件包含
<Directory "/Users/kristiannissen/Sites/">
AllowOverride All
Options Indexes MultiViews
Options +FollowSymLinks
Require all granted
</Directory>
在/etc/apache2/httpd.conf
中有本节
<Directory />
AllowOverride none
Require all denied
</Directory>
哪些阻止访问/您需要专门允许您想要的内容。因为它是apache 2.4,你需要使用Require语法而不是Allow语法,但是如上所示添加kristiannissen.conf文件并重新启动apache应该修复它。
答案 1 :(得分:0)
对于那些因 json AJAX请求而出现Forbidden
(403)错误的人,例如在jQuery中:
$.ajax({
type: 'json',
// ...
});
在apache的 username.conf 文件中:
# replace 'username' with your actual username
/private/etc/apache2/users/username.conf
如果你有:
<LimitExcept GET POST OPTIONS>
Require all denied
</LimitExcept>
将其更改为:
<LimitExcept GET POST OPTIONS>
Require all granted
</LimitExcept>
这对我有用,希望它有所帮助。