2015-02-09 108 views
0

我已經從PHP 5.3升級到PHP 5.4現在我的課被打破,我不明白爲什麼。從空值創建默認對象 - PHP升級後

我建立這個類:

class _g 
{ 
    public static $init; 

    public static function init() 
    { 
     if (self::$init == null) 
     { 
      self::$init->sysLang = (isset($_SESSION['SYSTEM_LANG']) ? $_SESSION['SYSTEM_LANG'] : 'dk'); 
      self::$init->apiPath = CSS_API_PATH .'theme/'. API_THEME_PATH_GFX .'/gfx/'; 
     } 

     return self::$init; 
    } 
} 

我收到此錯誤信息:

警告:從在/ var/HTML空值創建默認的對象/ .....

我真的不明白我該如何解決這個問題?

+0

什麼樣的類型是'_g :: $ init',可以提供完整的錯誤? – 2015-02-09 07:35:08

+0

提供的錯誤是我輸入的內容,我沒有收到錯誤信息。並鍵入?它是一個靜態var /對象。 – ParisNakitaKejser 2015-02-09 07:42:50

回答

1

首先你應該閱讀關於how to migrate to PHP 5.4的文章。

您沒有在init可變物中實例化的任何對象。 在PHP 5.3中,它生成Strict Standards,但在PHP 5.4中,這是一個Warning

E_STRICT不是PHP 5.3中的E_ALL的一部分,但是自PHP 5.4起。

您應該遵循這些標準,所以你應該改變你的代碼必須在if聲明如下一行:

self::$init = new stdClass(); 
+0

somthing is worng,當我回家時需要更多地搜索它,如果我將服務器重新安裝到Debian 5.6,它會有幫助嗎?我認爲maby的PHP版本和更新的MySQL使trobules ..:S – ParisNakitaKejser 2015-02-09 10:06:49

+0

它現在的工作! :)非常感謝,我有一個小的mysql錯誤;)但它現在的工作,謝謝! :) – ParisNakitaKejser 2015-02-09 14:06:21

相關問題