今天把程式碼上到伺服器出現一點問題,記下來防止以後出現同樣的問題
1.session跨頁面遺失,
2個方面,在php.ini上有一個參數session.usr_tran_sid改為1
另個看下phpinfo裡session.save_path的路徑是否可寫,可能是因為檔案不可寫,session存不進去,
2.框架內部$_get取不到值
後來測試發現admin/2.框架內部$_get取不到值
後來測試發現admin/ xxx.html?id=1這種形式取不出來,admin.php/xxx.html?id=1能取得到,初步判斷是nginx的rewrite重寫有問題,
重寫程式碼如下,
# fastcgi_param PATH_INFO $fastcgi_path_info;
# _path_info;
include fastcgi.conf;
set $fastcgi_script_name2 $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(. +.php)(/.+)$") {
set $fastcgi_script_name2 $1;
set $path_info $2; gi FO $path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name2;
}
location ~* .*.(gif|jpg|png|bmp|swf|js|css)(.*)
{
break;
}
index index.html index.htm index .php;
# try_files $uri /index.php$uri;
_ rewrite ^/index.php(.*)$ /index.php?s=$1 last;
^/admin/(.*)$ /admin.php/$1?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教程有興趣的朋友有所幫助。