一直不是很满意apache2的prefork模式对内存的占用,感觉速度也慢了点,另外php很多模块都不是线程安全的,所以采用fastcgi来运行php,,我认为比较好
但是apache2自己的fastcgid却有很多问题,还好国人编写了fcgid这个二进制兼容模块
在Ubuntu server 8.04 linux下配置好apache2+worker+fcgid+php5后,无奈Fleaphp的URL_REWRITE模式总是有问题,报错:
No input file specified.
确定 /etc/php5/cgi/php.ini中的 cgi.fixpath_info是设置为1的
看了fcgid的文档,说需要设置
PHP_Fix_Pathinfo_Enable 1
但依然不起作用
后来测试发现,是由于apache2的url_rewrite模块指令问题,在mod_php5下,我们用这个规则:
这样就没有问题,但是在fastcgi模式下,这么写,就会出现 No input file specified.
经检查发现 PATH_INFO 环境变量都是空的
后来查阅apache2的文档,发现rewrite模块的一个设置,看到了曙光:
'env|E=VAR:VAL' (set environment variable)
This forces an environment variable named VAR to be set to the value VAL, where VAL can contain regexp backreferences $N和%N which will be expanded. You can use this flag more than once to set more than one variable. The variables can be later dereferenced in many situations, but usually from within XSSI (via <!--#echo var="VAR"-->) or CGI (例如, $ENV{'VAR'}). Additionally you can dereference it in a following RewriteCond pattern via %{ENV:VAR}. Use this to strip but remember information from URLs. 于是修改重写规则为:
然后修改FLEA/Filter/Uri.php中的第29-32行为:
这样就可以了,很郁闷吧,这个 'REDIRECT_PATH_INFO' google一下,居然没有什么记录!
分享下成功吧!
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php [L,E=PATH_INFO:$1]
分享到:
相关推荐
fleaphp框架,国产最好php开发框架
fleaphp核心完整代码,国内比较优秀的 开源php框架。
fleaphp.chm手册
国内比较好的php框架fleaphp,值得学习
fleaphp1.7.1524,官方下载不了,这里提供一个下载地址给大家
FleaPHP 开源应用程序开发框架中常用系统方法详解: FLEA::initWebControls() 函数原型: /** * 初始化 WebControls,返回 FLEA_WebControls 对象实例 * @return FLEA_WebControls */ function & ...
fleaphp框架 大家一起学习
fleaphp中文手册fleaphp中文手册fleaphp中文手册fleaphp中文手册fleaphp中文手册
这个是一个中文的fleaphp中文手册,里面有详细的解释,非常适合初学者。
fleaphp框架是种开发效率高,易学的框架,本实例详细说明初学者在使用fleaphp过程中容易碰到的问题,详述了如何使用该框架,本fleaphp使用手册只介绍了部分内容,以后续上
PHP一键安装环,简单,方便,实用。此环境包括[APACHE2+PHP5+MYSQL5] 安装完成后在D盘自动生成apmxe文件夹,双击文件夹中的run-fleaphp.exe自动运行PHP环境。
fleaphp框架附实例(最新版),要下就要快哟!
FleaPHP chm文档,简单实例,框架流程介绍
Apache2.2.4+PHP5.2.3+Zend Optimizer 3.3.0+SQLite 3.7.5 自带一个从fleaphp里面提取的服务管理器 注意:必须解压在英文路径,否则报错。 在第一版基础上,默认开启gzip,原生支持sqlite3,包含操作sqlite3例子和...
FleaPHP核心文档手册 博文链接:https://hegz.iteye.com/blog/646632
包含php mysql FLEAPHP Smarty 正则 javascript html等多种设计语言与开发语言的手册,下载一个,受用一生
fleaphp ajaxLogin 实例
FleaPHP最新手册,详细见官方网站http://www.fleaphp.org
喜欢尝鲜的同学们,新鲜出炉win版php+sqlite3套装,Apache2.3.15+PHP5.4.0rc2 自带一个从fleaphp里面提取的服务管理器 注意:必须有vc2008运行时支持,必须解压在英文路径,否则报错。