php setcookie失效的解決方法:1、瀏覽器開啟cookie;2、刪除在setcookie()之前的任何HTTP頭部輸出;3、使用php的setcookie()來建立cookie即可。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
php setcookie函數失效?
最近在為一個網站寫php後台的時候發現setcookie這個函數總是不能正常的設定cookie,透過var_dump()發現函數傳回值是false,顯然是設定不成功,Google之,發現setcookie失效可能有這樣一些原因:
瀏覽器停用了cookie。不用檢查,我肯定沒有禁用。
使用php的setcookie()來建立cookie和php中開啟session的 session_start()一樣,在setcookie()之前不能有任何HTTP頭部輸出。我去檢查程式碼,發現如下程式碼
<p>var_dump($qOpenId);<br/>setcookie('qOpenId',$openid,time() + 30 * 24 * 3600,'/');<br/></p>
果斷註解var_dump($OpenId)這行,測試,成功。
個人認為,setcookie應該是直接設定http header裡面的內容,所以前面不能有任何頭部輸出,var_dump,echo 什麼的都不能有
推薦學習:《 PHP影片教學》
以上是php setcookie 失效怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!