在 nginx 和 php 上访问被拒绝 [英] access denied on nginx and php
问题描述
使用 nginx 网络服务器和 php.nginx 正在工作,我看到欢迎使用 nginx!"但是当我尝试访问一个 php 页面时,我得到了访问被拒绝"的消息.我还安装了 php-fastcgi.
Using nginx web server and php. nginx is working, I see 'Welcome to nginx!' but I get 'access denied' when trying to access a php page. I also installed php-fastcgi.
这是我的 nginx 默认配置:
Here is my nginx default conf:
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
我在/etc/中激活了 security.limit_extensions = .php .php3 .php4 .php5 .html
和 listen =/var/run/php5-fpm.sock
php-fpm.d/www.conf 和 cgi.fix_pathinfo = 0
在/etc/php5/fpm/php.ini
I activited security.limit_extensions = .php .php3 .php4 .php5 .html
and listen = /var/run/php5-fpm.sock
in /etc/php-fpm.d/www.conf and cgi.fix_pathinfo = 0
in /etc/php5/fpm/php.ini
我重新启动了 nginx 和 php5-fpm.
I restarted nginx and php5-fpm.
感谢您的帮助.
推荐答案
在你有第二个位置的地方这样做
Do like this where you have your secondary location
location / {
try_files $uri $uri/ =404;
root /path/to/your/www;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
这两个参数是神奇的调味料:
These 2 parameters are the magic sauce:
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
这篇关于在 nginx 和 php 上访问被拒绝的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!