У меня на Mac установлен nginx через Homebrew. Я недавно пытался добавить виртуальный PHP-сервер. Он работает нормально, когда я получаю доступ к правильному имени файла, но выдает ошибку разрешения, когда будет вызван блок try или должен быть обработан индексный файл.
#200 :
http://php-sandbox.dev/index.php
#404 :
http://php-sandbox.dev/index
http://php-sandbox.dev/
Файл index.php существует в корневом веб-каталоге и имеет 744 разрешения, как и все папки в его пути.
Директива index, очевидно, игнорируется. Смотрите примеры и ошибки ниже, а также мой конфиг nginx.
Файл конфигурации сайта для nginx: server {listen 80; слушать [::]: 80; error_log /var/log/nginx/php-sandbox/error.log debug; rewrite_log on;
server_name php-sandbox.dev;
root /Users/sswright/repos/jswright61/php-sandbox/public;
index index.php index.html;
include drop.conf; #ignores favicons
location / {
try_files $uri $uri.php $uri/ =404;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
}
Журнал ошибок: (/ запрошено)
2017/04/23 09:47:15 [crit] 11149#0: *9 stat() "/Users/sswright/repos/jswright61/php-sandbox/public/" failed (13: Permission denied), client: 127.0.0.1, server: php-sandbox.dev, request: "GET / HTTP/1.1", host: "php-sandbox.dev"
2017/04/23 09:47:15 [crit] 11149#0: *9 stat() "/Users/sswright/repos/jswright61/php-sandbox/public/.php" failed (13: Permission denied), client: 127.0.0.1, server: php-sandbox.dev, request: "GET / HTTP/1.1", host: "php-sandbox.dev"
2017/04/23 09:47:15 [crit] 11149#0: *9 stat() "/Users/sswright/repos/jswright61/php-sandbox/public/" failed (13: Permission denied), client: 127.0.0.1, server: php-sandbox.dev, request: "GET / HTTP/1.1", host: "php-sandbox.dev"
Блок try выполняется, но индекс не предпринимается.
Журнал ошибок: (/ запрошен индекс)
2017/04/23 10:11:40 [crit] 11149#0: *12 stat() "/Users/sswright/repos/jswright61/php-sandbox/public/index" failed (13: Permission denied), client: 127.0.0.1, server: php-sandbox.dev, request: "GET /index HTTP/1.1", host: "php-sandbox.dev"
2017/04/23 10:11:40 [crit] 11149#0: *12 stat() "/Users/sswright/repos/jswright61/php-sandbox/public/index.php" failed (13: Permission denied), client: 127.0.0.1, server: php-sandbox.dev, request: "GET /index HTTP/1.1", host: "php-sandbox.dev"
2017/04/23 10:11:40 [crit] 11149#0: *12 stat() "/Users/sswright/repos/jswright61/php-sandbox/public/index" failed (13: Permission denied), client: 127.0.0.1, server: php-sandbox.dev, request: "GET /index HTTP/1.1", host: "php-sandbox.dev"
Здесь он ищет index.php, но получает ошибку разрешения. Когда запрашивается /index.php, страница загружается правильно.