首页说下部署环境
CentOS 7 64
Nginx 1.14.0
PHP 7.2
PHP-FPM
步骤一、打开php.ini中的设置
cgi.fix_pathinfo=0 改为1
步骤二、配置Nginx
server {
listen 80;
server_name _;
access_log /data/**.log combined;
index index.html index.htm index.php;
root /data/***/www;
#include /usr/local/nginx/conf/rewrite/none.conf;
#error_page 404 /404.html;
#error_page 502 /502.html;
location ~ [^/]\.php(/|$) {
#location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires 7d;
access_log off;
}
location ~ /\.ht {
deny all;
}
}
上面略掉了路径有关的信息。
20181220补充一点。上面的配置是针对的Ninx1.4,在测试时发现 Ningx1.2.2和1.4稍有不同。
location ~ [^/]\.php(/|$) { ##1.4使用
location ~ \.php$ { ##1.2使用。