Thinkphp3.2 PathInfo For PHP7.2 and php-fpm sock

首页说下部署环境 

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使用。

你可能感兴趣的:(linux,thinkphp)