最近在用mac mamp环境配置php的时候 发现有时候 打开配置的网站出现谷歌提示内部重定向次数过多原因
我也是奇怪,怎么一会又问题一会没问题 然后研究mamp环境 发现php版本有个配置
其实就是这两个配置的问题
module和cgi 这两个mode 开发配置的都知道php在apache环境下 加载的原理 这边复制了
PHP结合Apache的方式有三种:
作为模块:PHP作为Apache的模块,当有php页面的请求时,Apache加载php模块,加载资源并执行php程序,将执行结果返还给客户端。
CGI方式(注:CGI是一个协议,可以实现web服务程序和解释器通信):PHP作为一个独立的功能程序,当有php页面的请求时,Apache通过CGI方式启动一个PHP进程,PHP进程获取资源并执行后,将执行结果返回给Apache,Apache返回给客户端,之后Apache销毁该进程。
FastCGI(注:FastCGI是CGI协议的一个扩展,可以实现将PHP作为一个独立进程,由PHP自身实现进程的创建和销毁):PHP作为一个独立程序,根据配置文件事前启动N个作业进程用来等待处理用户请求(类似于Apache的Prefork模型,规定默认启动进程数、最大启动进程数、最小启动进程数等等),当有php页面的请求时,Apache通过代理方式使用FastCGI协议将请求发送给PHP进程,并指定php网页文件所在位置(URL),PHP进程接收后为其分配一个作业进程并执行脚本。FastCGI好处在于可以使PHP服务作为一个独立服务器,通过Socket与httpd通信,可以使服务分离,可扩展性更强,并且无需像CGI一样需要Apache来控制PHP的启动,提高了Apache的工作效率。
我是用的thinkphp5 框架 两种模式对应的伪静态 配置其实就相差一个问号?
细心的朋友可以去试一下 ,就一个?的原因
如果会用nginx 就不需要管啦 这个htaccess 只针对apache,使用nginx 需要注意.user.ini 根目录配置问题 小心点就没事了
这变提供 mamp 使用nginx 配置tp5 需要配置的伪静态
配置伪静态
伪静态,这是tp5框架的 需要注意index.php的位置 其他框架同理
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
希望能帮到大家 解决大家一些小疑问.