2007年12月3日 星期一
Session無法傳遞訊息
當發現照著教學範本使用時,卻無法傳遞問題,程式碼又沒打錯,那問題就很可能發生於php.ini上。
檢查下面三個的數值的設定使否有開啟
session.use_cookies = On
session.use_trans_sid = 1
register_globals = On
檢查下面三個的數值的設定使否有開啟
session.use_cookies = On
session.use_trans_sid = 1
register_globals = On
Warning: session_start()
當使用session時出現以下錯誤訊息
Warning: session_start() [function.session-start]: Cannot send session cookie
Warning: session_start() [function.session-start]: Cannot send session cache limiter
此時有兩種可能,一種是session要放在所有output之前。一種是session_start()放錯位置(應該放置於head或是html之間。
當檢查完這兩種都沒有錯時,有可能是因為UTF8編碼的問題,只要把session_start()改成@session_start() 即可。
Warning: session_start() [function.session-start]: Cannot send session cookie
Warning: session_start() [function.session-start]: Cannot send session cache limiter
此時有兩種可能,一種是session要放在所有output之前。一種是session_start()放錯位置(應該放置於head或是html之間。
當檢查完這兩種都沒有錯時,有可能是因為UTF8編碼的問題,只要把session_start()改成@session_start() 即可。
POST 失敗
由於新版PHP在防護措施上的加強,所以會導致舊版的PHP code在POST變數時,會發生錯誤。可以參考官方網站的文章,Using old code with new versions of PHP
解決方法:
register_globals = Off 改成 On
register_argc_argv = Off 改成
Onregister_long_arrays = Off 改成 On
解決方法:
register_globals = Off 改成 On
register_argc_argv = Off 改成
Onregister_long_arrays = Off 改成 On
訂閱:
文章 (Atom)