最近准备做点东西,起初准备自己弄个框架的…但是由于了很久还是放弃了..自己开发框架的话,开发周期势必要延长,而且不一定好用,所以准备挑个现有的框架开发.
首先想到的是 Yii ,
一是因为我比较熟悉他,已经用Yii出了两个项目了.
二是因为Yii 确实很强大
但是Yii实在是太 Heavy 了,一个普通脚本跑跑要3M+的内存,对于准备在VPS上部署项目的我来说势必是个噩梦.
于是我转而将目光投向于轻量级的框架.经过几个小时的挣扎我选择了国产框架 ThinkPHP ,因为其文档相当清楚,最重要的是 古董 用过这框架,那我就可以少走弯路了哈哈…在自己写测试Demo的时候发现问题,我用的Nginx不支持 PathInfo ,那么下来我就说说PathInfo.
PathInfo 可以实现友好的URL路径,你甚至可以实现生成 demo.php/news/world/200901011124.html 这样对搜索引擎非常友好的URL,而无需使用重写…在这里我们仅仅需要访问 demo.php 即可,它的好处是显而易见的.
下面就是让大家知道如何在服务器开启PathInfo.
1.让 Apache 支持 PathInfo
配置的 Apache 版本 : 2.2.13
在配置文件中加入
<Files *.php>
AcceptPathInfo On
</Files>
这样 Apache 就可以支持针对 php 文件的 PathInfo 了.
2.让 Nginx 支持 PathInfo
在配置文件里添加
location ~ \.php
{
fastcgi_pass 127.0.0.1:9000;
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 /var/html/$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
include conf/fcgi.conf;
}
这里就是针对 .php 文件作出解析, 对 $fastcgi_script_name 做PathInfo 辨别,转换.将 php 文件后的 (/.+) 以 PATH_INFO 的FastCGI参数名称提交.
写得很清晰
谢谢分享经验
呵呵 不客气
我想问一下您,apache的PathInfo到底是什么用的,写php程序时什么时候会用到它?
用TP框架的时候就用到了PathInfo了…PathInfo 可以实现 /inidex.php/1.html 这样的效果..
Summarized and to the point, excellent!