WordPress 博客程序登錄的時候在登錄頁面中出現“Cookies因預料之外的輸出被阻止”的提示,其他連帶的癥狀還有:會在頁面頂部輸出錯誤代碼行的提示,錯誤信息基本上是“headers already sent by”,無法使用wordpress密碼找回功能,進入后臺后無法在線安裝插件等不正?,F象發生。
出現這種問題的最常見的是使用了阿里云的虛擬主機用戶,主要原因是服務器沒有開啟“輸出緩沖區數據塊”。
所以解決問題的方式是開啟之,阿里云虛擬主機的用戶可以訪問阿里云后臺,進入虛擬主機的管理頁面,然后點擊“高級環境設置”->“PHP.ini設置”,在PHP環境參數設置中點擊開啟“輸出緩沖區數據塊設置”,然后保存即可。
對于其他Apache服務器,可以直接修改 php.ini 文件來開啟。編輯 php.ini 文件,找到 output_buffering ,設置值為 ON ,保存后重啟 Apache,即可生效。
在沒有開啟緩沖區的情況下,執行 header() 函數的時候,瀏覽器收到之后會直接執行,如果后續再次使用 header 方法,則瀏覽器會提示,我已經收到過 header 了,不要在發過來了,就會提示“headers already sent by” 的錯誤。如果這個時候開啟了 php 的緩存,則 header 數據會首先存放在緩存中,等到執行完成全部代碼后,一次性全部發送給瀏覽器,就會避免出現多次發送 header 的問題。
WordPress 出現這種情況,主要是主題的 function.php 文件中有出現過重定向的代碼,如果沒有開啟緩存而執行到了重定向的代碼,則會報錯。比如說如果主題中設置了后臺登錄保護代碼,就可能會出現這個問題。
同樣,開啟輸出緩沖區功能可以解決在手機版 WordPress 無法登陸后臺的錯誤。無法通過該URL讀取WordPress站點。錯誤提示如下:
新聞熱點
疑難解答
圖片精選