V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
coolicer
V2EX  ›  NGINX

谁搞过ThinkPHP,nginx下要配置才能用infopath模式。找了一个网上的用不了呢

  •  
  •   coolicer · 2013-11-28 11:19:48 +08:00 · 3966 次点击
    这是一个创建于 4009 天前的主题,其中的信息可能已经有所发展或是发生改变。
    location / {
    index index.html index.htm index.php;
    root /home/www/php;
    try_files $uri $uri/ =404;
    }
    location ~.*\.php$ {
    root /home/www/php;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    ---------------------------以上是现在的配置----------------------


    #这段是网上说开启的
    location /App/ { #App是我的项目目录
    index index.php;
    if (!-e $request_filename) {
    rewrite ^/App/(.*)$ /App/index.php/$1 last;
    break;
    }
    }

    location ~ .+\.php($|/) {
    set $script $uri;
    set $path_info "/";
    if ($uri ~ "^(.+\.php)(/.+)") {
    set $script $1;
    set $path_info $2;
    }

    fastcgi_pass fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php?IF_REWRITE=1;
    include /APMServ/nginx/conf/fastcgi_params;
    fastcgi_param PATH_INFO $path_info;
    fastcgi_param SCRIPT_FILENAME $document_root/$script;
    fastcgi_param SCRIPT_NAME $script;
    }
    #这段是网上说开启的



    现在有几个Location,不知道哪些不要。
    9 条回复    1970-01-01 08:00:00 +08:00
    ooh
        1
    ooh  
       2013-11-28 11:59:28 +08:00
    server {
    listen 80;
    server_name 127.0.0.1;

    root /home/www/new/;
    index index.html index.htm index.php;

    location / {
    if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php?s=$1 last;
    }
    # try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    # # With php5-cgi alone:
    # fastcgi_pass 127.0.0.1:9000;
    # # With php5-fpm:
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    }
    }
    你重写url试试
    coolicer
        2
    coolicer  
    OP
       2013-11-28 13:54:11 +08:00
    @ooh 大哥,木有反应,还是不能用PATHINFO模式
    vvtommy
        3
    vvtommy  
       2013-11-28 14:17:34 +08:00
    为什么在nginx下使用PATHINFO呢?如果仔细设计URL的话,花时间写一下rewrite规则才是不错的选择,ThinkPHP用PATHINFO只是在当年看来是一个比较“潮”的feature。

    当然,回答你的问题,在nginx下安装这个module,可以打开PATHINFO支持 http://wiki.nginx.org/HttpFastcgiModule
    coolicer
        4
    coolicer  
    OP
       2013-11-28 14:27:28 +08:00
    @vvtommy 不是很懂。其实我看了REST的ULR,我觉得PATHINFO的好丑。
    ooh
        5
    ooh  
       2013-11-28 17:03:54 +08:00
    @coolicer 我忘了phpinfo模式的URL是什么样的了,你举个栗子?这个用url模式2是没问题的
    coolicer
        6
    coolicer  
    OP
       2013-11-28 17:26:14 +08:00
    @ooh http://localhost/app/index.php/Index/index

    我这样启动不了:

    server {
    listen 8080 default_server;
    server_name localhost;
    index index.html index.htm index.php;
    root /home/www/php;
    location / {
    try_files $uri $uri/ =404;
    if(!-e $request_filename){
    rewrite ^(.*)$ /index.php?s=$1 last;
    break;
    }
    }
    location ~\.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    set $path_info "";
    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$fastcgi_script_name;
    fastcgi_param SCRIPT_NAME $real_script_name;
    fastcgi_param PATH_INFO $path_info;
    include /etc/nginx/fastcgi_params;
    }
    }
    qingting
        7
    qingting  
       2013-11-28 17:56:30 +08:00
    ooh
        8
    ooh  
       2013-11-28 19:38:30 +08:00
    @coolicer 你直接用我贴的,把new改成你php项目地址,然后先访问localhost看看行不,在访问localhost/Index/index,我那个是重写了URL的,还有你url模式是不是2?我都是用的这个
    coolicer
        9
    coolicer  
    OP
       2013-11-29 09:25:35 +08:00
    @ooh 是2的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1392 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:35 · PVG 01:35 · LAX 09:35 · JFK 12:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.