Warning: Error while sending QUERY packet. PID=27501 in /home/wwwroot/coco/domain/cnlamp/web/wp-includes/wp-db.php on line 1924 Ubuntu+Nginx+PHP+php-fpm配置php(path_info)环境 | LAMP新闻|技巧|经验|资讯站
现在的位置: 首页Linux, WEB服务器>正文
Ubuntu+Nginx+PHP+php-fpm配置php(path_info)环境
发表于6年前 Linux, WEB服务器 评论数 1
. 使用官方PPA安装 Nginx 最新版本,使用以下命令:

1
2
3
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx
apt-get install nginx

安装mysql-server

apt-get install mysql-server mysql-client

安装php-cgi

apt-get install php5-cgi php5-mysql php5-fpm

配置nginx

/etc/nginx/sites-available/default是默认站点的配置

#pass the PHP scripts to FastCGI

下面的几行注释符去掉,是配置php-cgi连接的

其中有一句

include fastcgi_params;

是包含fastcgi中PHP环境变量配置的文件,我们再去这个文件(/etc/nginx/)配置pathinfo

在文件开始加入以下几行,还要注意,下面已经有了一个fastcgi_param SCRIPT_FILENAME,我们把它注释掉不用

fastcgi_split_path_info ^((?U).+\.php)(/.+)$;
fastcgi_param	SCRIPT_FILENAME		$document_root$fastcgi_script_name;
fastcgi_param	PATH_INFO		$fastcgi_path_info;
fastcgi_param	PATH_TRANSLATED		$document_root$fastcgi_path_info;

下面重新加载配置

nginx -s reload
invoke-rc.d php5-fpm restart

好了,下面在/usr/share/nginx/www/下建立一个php文件

<?php
phpinfo();

打开浏览器访问localhost/i.php,如果能看到php信息页,并检查变量无误,就配置成功了.

2012/4/17补充

关于nginx文件类型错误解析漏洞,在传入fastcgi之前检测下解析出的php文件是否存在

if ( !-e $document_root$fastcgi_script_name){
	return 404;
}

这句加入到 fastcgi_split_path_info下面就可以了

给我留言

留言无头像?


×
腾讯微博