Skip to content

[Feature] The pathinfo section in the default website configuration conf file for PHP can be simplified #10334

@l12ab

Description

@l12ab

1Panel Version

2.0.10

Please describe your needs or suggestions for improvements

现在网站默认配置conf文件php部分里,关于pathinfo的部分依然用的很古老的nginx写法,可以精简

location ~ [^/]\.php(/|$) {
        fastcgi_pass 127.0.0.1:9081; 
        include fastcgi-php.conf; 
        include fastcgi_params; 
        set $real_script_name $fastcgi_script_name; # 无用
        if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$" ) { # 无用
            set $real_script_name $1;  # 无用
            set $path_info $2;  # 无用
        }
        fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;  # 可以放到fastcgi_params文件里
        fastcgi_param SCRIPT_NAME $real_script_name;  # 无用
        fastcgi_param PATH_INFO $path_info;  # 无用
    }

Please describe the solution you suggest

fastcgi_params文件可精简为

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;  #这一行用于解决path_info问题
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REQUEST_SCHEME     $scheme;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

网址配置conf的php部分可精简为

location ~ [^/]\.php(/|$) {
        fastcgi_pass 127.0.0.1:9000; 
        include fastcgi-php.conf; 
        include fastcgi_params; 
    }

php.ini 里,cgi.fix_pathinfo值设置为1(默认就是1)

Additional Information

No response

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions