Heim  >  Artikel  >  Backend-Entwicklung  >  thinkPHP上到服务器出现的一点问题

thinkPHP上到服务器出现的一点问题

WBOY
WBOYOriginal
2016-07-30 13:31:051206Durchsuche

今天把代码上到服务器出现一点问题,记下来防止以后出现同样的问题

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/

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了thinkPHP上到服务器出现的一点问题,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn