全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
楼主: wzwen
打印 上一主题 下一主题

[疑问] nginx如何开启PHP的PATHINFO???

[复制链接]
11#
发表于 2009-11-28 12:14:01 | 只看该作者
PATHINFO 我也想知道怎么开启,呵呵,
12#
 楼主| 发表于 2009-11-28 15:02:37 | 只看该作者
原帖由 lemss 于 2009-11-28 11:26 发表
没什么大区别,使用fastcgi_pass  unix:/tmp/php-cgi.sock;速度快点,稳定性稍差

使用fastcgi_pass  127.0.0.1:9000;速度可能稍微慢点,但稳定性好


奇怪,我改成用fastcgi_pass  127.0.0.1:9000;

网站出现502错误,现在必须用unix:/tmp/php-cgi.sock;
13#
 楼主| 发表于 2009-11-28 15:05:34 | 只看该作者
还有件奇怪的事情.

我修改nginx.conf配置后,更新一下,结果又出错:
[root@wzwen ~]# kill -HUP 'cat /usr/local/nginx/logs/nginx.pid'
-bash: kill: cat /usr/local/nginx/logs/nginx.pid: arguments must be process or job IDs

只能停止再重启nginx...
14#
发表于 2009-11-28 15:11:20 | 只看该作者

回复 12# 的帖子

调节php-fpm.
15#
 楼主| 发表于 2009-11-28 15:38:34 | 只看该作者
开启PATHINFO成功。。。

教程是外国人写的,在此:http://open.emspace.com.au/nginx ... info-and-scriptname

我将一键包的原配置中的这段
                location ~ .*\.(php|php5)?$
                        {
                                fastcgi_pass  unix:/tmp/php-cgi.sock;
                                #fastcgi_pass  127.0.0.1:9000;
                                fastcgi_index index.php;
                                include fcgi.conf;
                        }


替换成:
    location / {
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php/$1 last;
        }
    }

    location ~ .php$ {
        fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

        include      fastcgi_params;
    }

    location ~ \.php($|/) {

        set $script     $uri;
        set $path_info  "";

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

        fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME    $document_root$script;
        fastcgi_param  SCRIPT_NAME        $script;
        fastcgi_param  PATH_INFO          $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  REQUEST_URI        $request_uri;
        fastcgi_param  DOCUMENT_URI       $document_uri;
        fastcgi_param  DOCUMENT_ROOT      $document_root;
        fastcgi_param  SERVER_PROTOCOL    $server_protocol;

        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;
        fastcgi_param  REDIRECT_STATUS    200;

    }

评分

参与人数 4威望 +75 收起 理由
Bobo + 5 学习了,正好要用
zyypp + 25 我貌似以前说过 修改fcgi.conf可以调用一些 ...
RyoKazami + 15
cpuer + 30 精品文章

查看全部评分

16#
 楼主| 发表于 2009-11-28 15:40:03 | 只看该作者
替换的内容太多了,呵呵。。。

不过成功了。

案例如下: 
http://www.mrbank.net/index.php

http://www.mrbank.net/Page/Contact
17#
发表于 2009-11-28 16:44:27 | 只看该作者

回复 15# 的帖子

学习了。
18#
发表于 2009-11-28 17:25:11 | 只看该作者
学习了。
19#
发表于 2009-11-28 19:00:07 | 只看该作者
我记得以前问过nginx 如何 配置SERVER_ADMIN 使探针显示管理员邮箱
后来貌似提过修改fcgi.conf可以调用一些 php的 配置呵呵
20#
 楼主| 发表于 2009-11-28 19:27:43 | 只看该作者

回复 19# 的帖子

修改fcgi.conf这个方法等有时间再折腾测试了

这次找到的方法替换内容太多了,感觉不是很爽,虽然功能实现了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-14 22:12 , Processed in 0.065890 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表