本文操作环境:Ubuntu 18.04 /Nginx 1.16 /PHP 7.2
1. 配置php.ini
首先定位配置文件php.ini 的位置。
php --ini |grep Loaded
输出例子:
root@wp2019:~# php --ini |grep Loaded
Loaded Configuration File: /etc/php/7.2/cli/php.ini
编辑php.ini
nano /etc/php/7.2/cli/php.ini
编辑fix_pathinfo的设置内容。
在这个文件中,找到设置cgi.fix_pathinfo的参数。 这将用分号(;)注释掉,默认设置为“1”。
这是一个非常不安全的设置,因为它告诉PHP尝试执行最近的文件,如果找不到请求的PHP文件,它可以找到它。 这可以允许用户以一种允许他们执行不应允许执行的脚本的方式制作PHP请求。
取消注释并将其设置为“0”,如下所示:
cgi.fix_pathinfo=0
2. 配置nginx的PHP解析
nginx.conf 文件通常在“/etc/nginx”目录下。
通常有下面的描述。
user nginx;
...
http{
...
include /etc/nginx/conf.d/*.conf;
}
注意,这里用户用从nginx改为www-data。
修改前 | 修改后 | 修改目的 |
---|---|---|
user nginx; | user www-data www-data; | 为了保证解析php时,对/run/php/php7.2-fpm. |