thinkphpsession存儲
『壹』 thinkphp session保存不了
在另一頁面session是否是開啟的狀態呢,如果開啟的話你可以用session_id在來調用這個session值,session_id看下文檔是怎麼用的
『貳』 Thinkphp框架的session緩存目錄在那裡急需!!!
這個路徑是可以在配置文件里設置的
『叄』 thinkphp session保存或讀取不了!!
首先不知道你用的是什麼伺服器。我是在linux上面的nginx做環境的。session保存不了,跟你的sessoin.save_path後面的路徑許可權和文件夾是否新建也有關系。新建這個文件夾,並授權這個問題就解決了。跨頁的session訪問不了可以設置use_trans_sid為1。其他的比如thinkphp配置造成的網路上有。
『肆』 thinkphp怎麼防止session丟失
php跳轉session丟失的解決辦法:1、用Notepad打開相應的文件;2、格式選擇以UTF-8無bom格式編碼;3、將文件保存,並重新上傳到伺服器即可。
『伍』 我在thinkphp 裡面session保存值有時成功,有時失敗,goole一般能保存,其他瀏覽器有時能保存,糾結!!!
框架自動開啟session
自己寫的話可能是只有這個方法好使
我建議用兩種存值方式cookie和session同時存值
這個自己寫個判斷客戶禁用cookie就用session否則用cookie
自己理解著去寫 建議你多研究一下tp
『陸』 thinkphp 3.2.2 session 信息存儲在 memcache中怎麼設置
使用 memcache 緩存數據仍然是使用 S 方法,只需要在配置文件中將緩存方式設置為使用 memcache 緩存,再配置一些特殊的參數就可以了;
官方文檔說明地址:
http://document.thinkphp.cn/manual_3_2.html#data_cache
『柒』 thinkphp redis存入session怎麼調用
1.在配置項中定義:
'SESSION_TYPE'=>'Redis',//session保存類型
'SESSION_PREFIX'=>'sess_',//session前綴
'REDIS_HOST'=>'127.0.0.1'//REDIS伺服器地址
'REDIS_PORT'=>6379,//REDIS連接埠號
'SESSION_EXPIRE'=>3600,//SESSION過期時間
2.在目錄下新建Redis.class.php文件
文件內容如下:
<?php
namespaceThinkSessionDriver;
classRedis{
//Redis連接對象
private$redis;
//Session過期時間
private$expire;
/**
*打開方法
*@paramtype$path
*@paramtype$name
*@returntype
*/
publicfunctionopen($path,$name){
$this->expire=C('SESSION_EXPIRE')?C('SESSION_EXPIRE'):ini_get('session.gc_maxLifetime');
$this->redis=newRedis();
return$this->redis->connect(C('REDIS_HOST'),C('REDIS_PORT'));
}
/**
*關閉
*@returntype
*/
publicfunctionclose(){
return$this->redis->close();
}
/**
*讀取
*@paramstring$id
*@returntype
*/
publicfunctionread($id){
$id=C('SESSION_PREFIX').$id;
$data=$this->redis->get($id);
return$data?$data:'';
}
/**
*寫入
*@paramstring$id
*@paramtype$data
*@returntype
*/
publicfunctionwrite($id,$data){
$id=C('SESSION_PREFIX').$id;
return$this->redis->set($id,$data,$this->expire);
}
/**
*銷毀
*@paramstring$id
*/
publicfunctiondestroy($id){
$id=C('SESSION_PREFIX').$id;
$this->redis->delete($id);
}
/**
*垃圾回收
*@paramtype$maxLifeTime
*@returnboolean
*/
publicfunctiongc($maxLifeTime){
returntrue;
}
}
memcached的方法和Redis差不多一樣!
『捌』 thinkphp使用memcache存儲session是訪問非常慢是什麼原因
A文件:基於thinkphp,A文件代碼里【沒有】用到session
B文件:沒有使用thinkphp,代碼里【沒有】用到session
C文件:沒有使用thinkphp,代碼里【有】用到session
1、訪問A文件,第一次訪問很快,第二次第三次後面就很慢;等一段時間後,第一次訪問又很快,第二次第三次後面就很慢。
2、直接訪問B文件,每次都很快
3、直接訪問C文件,每次都很快
4、先訪問一次A文件,再訪問B文件,每次都很【快】
5、先訪問一次A文件,再訪問C文件,每次都很【慢】
感覺類似訪問A文件後session被鎖住,之後訪問C文件就很慢了,一段時間後session鎖被釋放,不知道thinkphp有做什麼處理導致了這個問題,求解答
web伺服器使用apache
session的配置
session.save_handler "memcache"
session.save_path "tcp://127.0.0.1:11211"
把SESSION_AUTO_START設為false,或者把
ThinkPHP/Common/function.php 第1174 行if(C('SESSION_AUTO_START')) session_start(); 注釋掉就沒有問題了
『玖』 thinkphp中使用$_SESSION
不要session_start()
具體的你可以看下來介紹:
get(name) 獲取 Session 值
getLocal(name) 獲取本地化 Session 的值
set(name, value) 設置 Session 的值
setLocal(name, value) 設置本地化 Session 的值
is_set(name) 檢查 Session 的值是否設置
is_setLocal(name) 檢查本地化 Session 的值是否已經設置
pause() 暫停 session
clear() 清空 Session
clearLocal() 清空本地化 Session
destroy() 銷毀 Session
isExpired() 檢測 Session 是否過期
isIdle() 檢測 Session 是否閑置
『拾』 thinkphp上有個本地化session,這和cookie有什麼區別嗎什麼時候用合適
session是會自動過期的 在沒有設置的情況下默認是20分鍾就過期了,而cookie 就會一直存在. 還有一個區別就是seccion 是存在伺服器上的 而cookie是存在本地的