>백엔드 개발 >PHP 튜토리얼 >thinkPHP上到服务器出现的一点问题

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

WBOY
WBOY원래의
2016-07-30 13:31:051218검색

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

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教程有兴趣的朋友有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.