【发布时间】:2016-12-30 10:59:33
【问题描述】:
在我列出我尝试过的之前:
- This Answer on ServerFault
- chmoded /Users/user/portal3 到 777 看是否执行
- 创建了两个池,一个使用 root,另一个使用当前用户
- 谷歌搜索
- 在freenode中输入##php
- 还有很多其他想法。
我在主目录中的子目录上执行 php 代码时遇到问题。 在 Nginx 上我得到了这个
2016/08/23 09:13:40 [error] 39170#0: *13 FastCGI sent in stderr: "Access to the script
'/Users/user/portal3' has been denied (see security.limit_extensions)" while reading
response header from upstream, client: 127.0.0.1, server: localhost, request:
"GET /portal/v3/index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9001", host: "localhost"
在 php-fpm 上显示
[23-Aug-2016 09:13:40] WARNING: [pool dev] child 8305 said into stderr: "NOTICE: Access to the script '/Users/user/portal3' has been denied (see security.limit_extensions)"
我已经尝试了所有方法,但在 Mac 上使用 Nginx/PHP-FPM 运行 php 没有任何成功
Ngnix 和 PHP-FPM 以 root 身份运行
PHP-FPM 配置了两个池:
- [www]: 以 root 身份运行并且工作正常,执行 php 代码,但它们的 www-root 子目录位于 /var/www
- [dev] 池在 MacOS X 上以我当前用户身份运行,侦听端口 9001,并配置为在 /Users/user/portal3 中运行代码。
php-fpm.ini
[dev]
user=user
group=staff
listen=127.0.0.1:9001
listen.mode = 0666
pm = ondemand
pm.max_children = 10
pm.process_idle_timeout = 10s
pm.status_path = /status_user
catch_workers_output = yes
security.limit_extensions = .php
默认(在网站上可用)Nginx
server {
listen 80;
server_name localhost;
###root /var/www/;
access_log /usr/local/etc/nginx/logs/default.access.log main;
access_log /usr/local/etc/nginx/logs/default.scripts.log scripts;
location /portal/v3 {
alias /Users/user/portal3;
location ~ ^/portal/v3/(.+\.php)(/.*)$ {
#alias /Users/user/portal3;
index index.php;
# Mitigate https://httpoxy.org/ vulnerabilities
fastcgi_param HTTP_PROXY "";
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$2;#$fastcgi_script_name;
include fastcgi_params;
}
}
location = /info {
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
}
location / {
root /var/www/;
index index.php index.html index.htm;
include /usr/local/etc/nginx/conf.d/php-fpm;
}
error_page 404 /404.html;
error_page 403 /403.html;
}
我已经使用自制软件安装了所有东西。现在我的想法不多了,我来这里寻求帮助。
【问题讨论】:
-
你
see security.limit_extensions了吗? -
是的...我有三张支票
-
那之后,你做了什么改变来解决这个问题?
-
你的配置中
security.limit_extensions的值是多少? -
@Rafael ...因此只允许使用扩展名为
.php的文件,并且您正在尝试访问没有扩展名的文件。