目前使用PHP的大平臺稱爲如何解決「非靜態方法XXX:XXX()不應該被靜態地在PHP 5.4
服務器其託管在最近已經升級到PHP 5.4。 。
因爲,我已經收到了很多錯誤信息,如:
[星期六5月26日19時04分41秒2012] [錯誤] PHP嚴格的標準:非靜態方法配置::的getData()不應該被靜態調用,假設$ this來自/xxx/Config.inc.php中不兼容的上下文,第35行
該示例方法被定義爲(注意缺乏「靜態」的關鍵字的):
function &getData() {
$configData =& Registry::get('configData', true, null);
if ($configData === null) {
// Load configuration data only once per request, implicitly
// sets config data by ref in the registry.
$configData = Config::reloadData();
}
return $configData;
}
這具有沒有之前造成一個問題,我假定錯誤消息(這會導致應用程序崩潰)可能與最近升級到PHP5.4有關。
是否有PHP設置我可以修改'忽略'缺少靜態關鍵字?
創建一個Config實例並調用它的getData() – Musa
您可以包含'&getData()'內容的示例嗎?具體來說,究竟是什麼被返回以及如何。 –
將&getData()的內容添加到原始問題中 - 但我必須強調,自從升級到5.4後纔會出現此錯誤,所以我確信邏輯正確 – kaese