这几天忙着组织开源项目,自己给整了一个云主机。在学校的时候就接触到Nginx了,但从未实践过,这次借此机会部署了LNMP环境,在安装过程中遇到过很多问题,不过后来都一一解决了。
【实践才是硬道理】
问题一、解决Nginx不支持PATHINFO
在include fcgi.conf时,要把fcgi.conf中的fastcgi_param SCRIPT_NAME以及fastcgi_param SCRIPT_FILENAME注释掉,不然SCRIPT_NAME与SCRIPT_FILENAME不会起作用的,PATHINFO是解决了,其它地方又会出问题。
还有一个地方要注意,Nginx在配置PATHINFO后,$_SERVER['PHP_SELF'] 仍然有问题,在ThinkPHP中会影响到PUBLIC常量,因此需要做下调整,在入口文件里加上
原文地址:
http://bbs.lampbrother.net/read-htm-tid-152709.html
阅读(47) | 评论(0) | 转发(0) |
<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
【实践才是硬道理】
问题一、解决Nginx不支持PATHINFO
- server
- {
- listen 80 default_server;
- server_name localhost;
- index index.html index.htm index.php;
- root /web/www;
- location ~ .*\.(php|php5)
- {
- set $path_info '';
- set $real_script_name $fastcgi_script_name;
- try_files $uri =404;
- fastcgi_pass unix:/tmp/php-cgi.sock;
- fastcgi_index index.php;
- #********** set pathinfo *************
- if ($real_script_name ~ "^(.+?\.php)(/.+)$") {
- set $real_script_name $1;
- set $path_info $2;
- }
- fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
- fastcgi_param SCRIPT_NAME $real_script_name;
- fastcgi_param PATH_INFO $path_info;
- include fcgi.conf;
- }
- location /status
- {
- stub_status on;
- access_log off;
- }
- location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
- {
- expires 30d;
- }
- location ~ .*\.(js|css)?$
- {
- expires 12h;
- }
- access_log off;
- }
在include fcgi.conf时,要把fcgi.conf中的fastcgi_param SCRIPT_NAME以及fastcgi_param SCRIPT_FILENAME注释掉,不然SCRIPT_NAME与SCRIPT_FILENAME不会起作用的,PATHINFO是解决了,其它地方又会出问题。
还有一个地方要注意,Nginx在配置PATHINFO后,$_SERVER['PHP_SELF'] 仍然有问题,在ThinkPHP中会影响到PUBLIC常量,因此需要做下调整,在入口文件里加上
- define('_PHP_FILE_',$_SERVER['SCRIPT_NAME']);
相关热门文章
给主人留下些什么吧!~~
评论热议