您的位置:首页 > 编程语言 > PHP开发

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

2015-08-20 15:54 274 查看
今天把代码上到服务器出现一点问题,记下来防止以后出现同样的问题

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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: