全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 7350|回复: 30
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-28 10:43:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
是用的置顶上面的一键包:lnmp

从网上找的教程:http://www.laruence.com/2009/11/13/1138.html
  1. location ~ \.php
  2. {
  3.         fastcgi_index index.php;
  4.         fastcgi_pass 127.0.0.1:9000;
  5.         include      fastcgi_params;
  6.         set $path_info "";
  7.         set $real_script_name $fastcgi_script_name;
  8.         if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
  9.         set $real_script_name $1;
  10.         set $path_info $2;
  11. }
  12. fastcgi_param SCRIPT_FILENAME /var/html/$real_script_name;
  13. fastcgi_param SCRIPT_NAME $real_script_name;
  14. fastcgi_param PATH_INFO $path_info;
  15. }
复制代码
启动nginx提示:
[root@wzwen ~]# /usr/local/nginx/sbin/nginx
[emerg]: unknown directive "if($fastcgi_script_name" in /usr/local/nginx/conf/nginx.conf:71



这句有问题吗?
set $real_script_name $fastcgi_script_name;



谁知道怎么解决?

或者有好的方法???
2#
发表于 2009-11-28 11:03:58 | 只看该作者

回复 1# 的帖子

不懂哦,这个有什么实际用途么?
3#
 楼主| 发表于 2009-11-28 11:10:11 | 只看该作者
现在许多的PHP框架的URL(路由)都需要用PATHINFO,

就是使网站更好看更利于搜索引擎收录。

比如www.abc.com/index.php?id=1
可以变成www.abc.com/index/id/1
4#
发表于 2009-11-28 11:17:57 | 只看该作者

回复 3# 的帖子

哦,伪静态就行了吧。
5#
 楼主| 发表于 2009-11-28 11:20:27 | 只看该作者

回复 4# 的帖子

如果用伪静态,那写正则要写死人。。。
6#
 楼主| 发表于 2009-11-28 11:22:35 | 只看该作者
对了,那个一键包里的nginx.conf默认配置有点不明白:
fastcgi_pass  unix:/tmp/php-cgi.sock;
#fastcgi_pass  127.0.0.1:9000;

我看别人那时都是直接用fastcgi_pass  127.0.0.1:9000;
这里为何用fastcgi_pass  unix:/tmp/php-cgi.sock;

???
7#
发表于 2009-11-28 11:26:27 | 只看该作者

回复 6# 的帖子

没什么大区别,使用fastcgi_pass  unix:/tmp/php-cgi.sock;速度快点,稳定性稍差

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

评分

参与人数 2威望 +55 收起 理由
zyypp + 25 答对了 嘿嘿
cpuer + 30 感谢分享

查看全部评分

8#
发表于 2009-11-28 11:28:07 | 只看该作者

回复 7# 的帖子

嗯,我也是听张宴这么说的。

如果每个站自己的php-cgi的话只能选择后者。
9#
 楼主| 发表于 2009-11-28 11:29:15 | 只看该作者

回复 7# 的帖子

谢谢,原来这样。

网上那些开启PATHINFO的教程,不知道是和我这个nginx版本不匹配,还是他们的教程有问题。。。

反正,没一个成功的。。。

继续试验……
10#
发表于 2009-11-28 12:08:26 | 只看该作者
unix socket因为不需要加checksum,header和路由等等tcpip的机制,
所以理论上会比普通的端口方式快(实际没看到过谁测试过)
还unix socket因为是文件,可以根据用户做权限控制,所以安全性比较好
缺点大概是文件的话,所以只能在本地读写,然后稳定性差一点的说法没有听说过。
客户端和服务端在同一台服务器上的情况下就应该用unix socket
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-15 02:58 , Processed in 0.072166 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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