thinkPHP上到服務器出現的一點問題

今天把代碼上到服務器出現一點問題,記下來防止以後出現同樣的問題

1.session跨頁面丟失,

2個方面,在php.ini上有一個參數session.usr_tran_sid改爲1

另個看下phpinfo裏session.save_path的路徑是否可寫,可能是因爲文件不可寫,session存不進去,

2.框架內部$_get取不到值

後來測試發現admin/xxx.html?id=1這種形式取不出來,admin.php/xxx.html?id=1能獲取到,初步判斷是nginx的rewrite重寫有問題,

重寫代碼如下,



#                       fastcgi_param  PATH_INFO $fastcgi_path_info;
#                       fastcgi_param  PATH_TRANSLATED $document_root$fastcgi_path_info;


                        include         fastcgi.conf;


        #設置PATH_INFO並改寫SCRIPT_FILENAME,SCRIPT_NAME服務器環境變量
        set $fastcgi_script_name2 $fastcgi_script_name;
        if ($fastcgi_script_name ~ "^(.+\.php)(/.+)$") {
            set $fastcgi_script_name2 $1;
            set $path_info $2;
        }
        fastcgi_param   PATH_INFO $path_info;
        fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name2;
        fastcgi_param   SCRIPT_NAME   $fastcgi_script_name2;
                }




                location ~* .*\.(gif|jpg|png|bmp|swf|js|css)(.*)
                {
                        expires 7d;
                        break;
                }


                location /
                {
                        index index.html index.htm index.php;
        #               try_files $uri /index.php$uri;


                        if (!-e $request_filename) {
                                rewrite ^/index.php(.*)$ /index.php?s=$1 last;
                                rewrite ^/admin/(.*)$ /admin.php/$1?s=$1 last;
                                rewrite ^(.*)$ /index.php?s=$1 last;

                                break;
                        }
                }

        }

重點是這三行

參考文獻

http://blog.jjonline.cn/linux/159.html

http://www.sundabao.com/nginx%E4%B8%8B%E6%94%AF%E6%8C%81thinkphp%E7%9A%84pathinfo%E5%92%8Curl-rewrite%E6%A8%A1%E5%BC%8F/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章