新聞中心
創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
如何解決PHP session失效不傳遞的問題?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
PHP session失效不傳遞的解決辦法:首先寫個(gè)php文件內(nèi)容為“=phpinfo()?>”;然后傳到服務(wù)器去看服務(wù)器的參數(shù)配置,表明用戶ID為標(biāo)識(shí)的session;最后將session的name賦值Havi,輸出session。
undefined
PHP中,session不能傳遞到下一個(gè)頁面去,一般有兩種情況:
我們先寫個(gè)php文件:=phpinfo()?>
,傳到服務(wù)器去看看服務(wù)器的參數(shù)配置。
轉(zhuǎn)到session
部分,看到session.use_trans_sid
參數(shù)被設(shè)為了0。
這 個(gè)參數(shù)指定了是否啟用透明SID支持,即session
是否隨著URL傳遞。我個(gè)人的理解是,一旦這個(gè)參數(shù)被設(shè)為0,那么每個(gè)URL都會(huì)啟一個(gè) session
。這樣后面頁面就無法追蹤得到前面一個(gè)頁面的session,也就是我們所說的無法傳遞。兩個(gè)頁面在服務(wù)器端生成了兩個(gè)session
文 件,且無關(guān)聯(lián)。
所以一個(gè)辦法是在配置文件php.ini
里把session.use_trans_sid
的值改成1。
當(dāng)然我們知道,不是誰都有權(quán)限去改php的配置的,那么還有什么間接的解決辦法呢?
下面就用兩個(gè)實(shí)例來說明吧:
文件1 test1.php
”.$_SESSION['name'].””; ?>
文件2: test2.php
每個(gè)頁面都要寫開啟session,不然還是不能正常工作
所以,重點(diǎn)是在session_start();
前加上session_id(SID)
;,這樣頁面轉(zhuǎn)換時(shí),服務(wù)器使用的是用戶保存在服務(wù)器session
文件夾里的session
,解決了傳遞的問題。
不過有同鞋會(huì)反映說,這樣一來,多個(gè)用戶的session
寫在一個(gè)SID里了,那Session的價(jià)值就發(fā)揮不出來了。所以還有一招來解決此問題,不用加session_id(SID);
前提是你對(duì)服務(wù)器的php.ini有配置的權(quán)限:
output_buffering
改成ON,道理就不表了。
第二個(gè)可能的原因是對(duì)服務(wù)器保存session
的文件夾沒有讀取權(quán)限,還是回到phpinfo.php
中,查看session
保存的地址:
session.save_path: var/tmp
所以就是檢查下var/tmp文件夾是否可寫。
寫一個(gè)文件:test3.php來測(cè)試一下:
echo var_dump(is_writeable(ini_get(“session.save_path”))); ?>
如果返回bool(false),證明文件夾寫權(quán)限被限制了,那就換個(gè)文件夾咯,在你編寫的網(wǎng)頁里加入:
//設(shè)置當(dāng)前目錄下session子文件夾為session保存路徑。$sessSavePath = dirname(__FILE__).’/session/’; //如果新路徑可讀可寫(可通過FTP上變更文件夾屬性為777實(shí)現(xiàn)),則讓該路徑生效。if(is_writeable($sessSavePath) && is_readable($sessSavePath)){session_save_path($sessSavePath);}
undefined
看完上述內(nèi)容,你們掌握如何解決PHP session失效不傳遞的問題的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前題目:如何解決PHPsession失效不傳遞的問題-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://ef60e0e.cn/article/dohchj.html