文档章节

Nginx + php-fpm 开启 PATH_INFO 模式

 蜗牛奔跑
发布于 2015/11/03 09:27
字数 222
阅读 577
收藏 3

很多框架默认路由都是 PATH_INFO 模式,比如默认在 Apache 并且没有 rewrite 时,CodeIgniter 一般可以这样访问 /index.php/controller/action ,那么 nginx 和 php-fpm 如何设置支持 PATH_INFO 模式呢?

php.ini 中一个与 PATH_INFO 有关的设置是 cgi.fix_path 默认为 1,我们将其设置为 0。

php.ini 设置:

cgi.fix_path = 0

接下来是 nginx 配置:

01

location ~ \.php($|/) {

02

 

03

    # 下面这一行设置 $fastcgi_script_name 和 $fastcgi_path_info 的值,具体请看 nginx 文档

04

    fastcgi_split_path_info ^(.+\.php)(/.+)$;

05

     

06

    # 下面这行也可以为 fastcgi_pass unix:/var/run/php-fpm.sock 看你的 fpm 设置了

07

    fastcgi_pass   127.0.0.1:9000;

08

    fastcgi_index  index.php;

09

    include        fastcgi_params;

10

     

11

    # 下面这行不能少,默认 fastcgi_params 里面并没有 SCRIPT_FILENAME

12

    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

13

    fastcgi_param  PATH_INFO          $fastcgi_path_info;

14

}

 

 

参考:

http://wiki.nginx.org/HttpFastcgiModule

http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_split_path_info

http://www.php.net/manual/zh/ini.core.php#ini.cgi.fix-pathinfo

http://www.laruence.com/2009/11/13/1138.html

http://www.laruence.com/2010/05/20/1495.html


本文转载自:

粉丝 38
博文 615
码字总数 118352
作品 0
海淀
私信 提问
Nginx+Squid+php-fpm整合与配置

来自Kearney,转载请注明出处。http://my.oschina.net/kear/blog/80505 很久没自己写技术类的东西了,跟大家分享一下今天整合Nginx、Squid和php-fpm的心得。 整体架构大致如下: Client -> ...

kearney
2012/09/26
2.1K
3
MNMP (Mac + Nginx + MySQL + PHP) 开发环境搭建

环境搭建: 安装homebrew 安装Mysql 先查找下mysql:brew search mysql 看一下mysql的版本信息: brew info mysql brew install mysql 设置密码: 安装时的消息有这么一句话We've installed y...

仇诺伊
2017/11/16
0
0
CentOS 5.5 下配置Nginx+mysql+php

LNMP配置 根据网上的一些资料,综合总结了在Centos5.5 下安装NMP的方式。同时通过修改配置文件达到解决框架的路由问题。 1、安装前首先使用yum命令安装、升级所需的程序库(可选,但是安装过程...

feek
2012/12/08
1K
1
PHP FastCGI进程管理器PHP-FPM的架构

一个master进程,支持多个pool,每个pool由master进程监听不同的端口,pool中有多个worker进程. 每个worker进程都内置PHP解释器,并且进程常驻后台,支持prefork动态增加. 每个worker进程支持在运...

eechen
2015/12/08
12.7K
49
Nginx+PHP安装(Debian6)

Nginx 目前来说已经很流行了,所以打算把现有的Apache先替换一部分,在批量部署和管理方面都要考虑到。因为nginx的所有模块都是静态编译的不像apache那样可以动态添加模块,所以在一开始就要...

China_OS
2012/08/17
2.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
6
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
4
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
7
0
从零基础到拿到网易Java实习offer,我做对了哪些事

作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右的时间。本文将会讲到...

Java技术江湖
昨天
7
0
程序性能checklist

程序性能checklist

Moks角木
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部