2017-08-14 104 views
0

你好我得到這個錯誤在我的錯誤日誌:

PHP已過時:自動填充$ HTTP_RAW_POST_DATA已取消,將在未來的版本中刪除要避免此警告集‘always_populate_raw_post_data’到「 - 1'in php.ini and use the php:// input stream instead。in Unknown on line 0

我的wordpress版本是4.8.1,php版本是5.6.30。

我試着通過創建一個php ini文件並將always_populate_raw_post_data值設置爲-1來解決這個問題。但我仍然得到錯誤。

如果它不能被修復,我該如何防止它打印在錯誤日誌上?

我正在使用共享主機。

+1

該解決方案在錯誤消息本身中進行了描述(並且已經發布)。 – axiac

回答

0

你不能像這樣創建一個PHP.ini。這是一個核心配置文件,它是PHP安裝的一部分。 http://php.net/manual/en/configuration.file.php閱讀本文檔可以更好地瞭解ini的功能。

ini文件可能位於多個位置,具體取決於操作系統以及安裝它的人員。如果您無法訪問它,請與您的託管服務提供商聯繫

0

如何防止它在錯誤日誌中打印?

這裏的問題不是你無法訪問php.ini,也不是錯誤顯示。

你的問題,其實是你使用過時變量

相反,你可以嘗試使用

file_get_contents('php://input'); 

的php.ini位於某處的服務器上的PHP文件,我假設您無法訪問共享主機。

0

如果您的帳戶(在共享主機上)使用(或配置)PHP-FPM,則無法通過php.ini來完成(如果您在根目錄下創建php.ini,則無效)

你可以嘗試:添加此代碼

<IfModule mod_php5.c> 
    php_value always_populate_raw_post_data -1 
</IfModule> 

在.htaccess文件在你的根目錄下,如果沒有幫助,然後向服務器管理員(支持),以改變在php.ini核心配置選項全球範圍內爲給定主辦。

1

您創建的php.ini文件需要位於PHP希望找到其配置文件的地方。您可以看到哪些PHP已經在使用phpinfo()功能加載CONFIGS:

上傳了一個名爲info.php的,其內容如下文件到你的Web服務器根目錄:

<?php 
// delete this file or comment out the below function when not in use 
phpinfo(); 
?> 

然後使用瀏覽器瀏覽到http://yourwebsite.com/info.php。應該加載一個頁面,告訴你所有關於你的php配置。查找頂部附近顯示有關加載的配置文件信息的部分。特別是,請查找這些條目: "Loaded Configuration File" and "Scan this dir for additional .ini files"

如果您有機會獲得列爲加載的配置文件的.ini文件只需修改always_populate_raw_post_data存在的價值。否則,請將已創建的.ini文件上載到掃描的目錄以獲取其他配置文件。當然,您需要重新加載或重新啓動php才能重新分析配置文件。

如果您無法訪問上述步驟中列出的任何位置,則您的託管服務提供商可能會通過cPanel或類似方式向您提供對php.ini文件的訪問權限。否則,你最好的選擇是直接與他們聯繫。最後,如果您不關心實際配置值與僅抑制警告消息一樣多,則可以使用ini_set()函數將錯誤報告設置爲不同的值,從而消除任何棄用警告。您要設置的變量是「error_reporting」,可以找到可能的值列表here

此外,由於您正在運行WordPress,因此您可以在wp-config.php文件中設置一些debugerror reporting選項。