php

[PHP]incomplete class解決方法

Posted by John on 2016-01-02
Words 260 and Reading Time 1 Minutes
Viewed Times

近日再寫PHP的時候,再參考一些SESSION使用資料的程式碼時會出現__PHP_Incomplete_Class的問題:

我寫了一個Class,然後用SESSION去儲存這個Class,但當我下次取他的時候就會造成這個錯誤。

這個錯誤跟寫法與設定有關係,上網GOOGLE後發現這個造成這個ERROR的原因是因為PHP是直譯式的,所以如果我在讀取SESSION前沒有先去定義Class時程式就會出錯,因為他不知道這是個物件。

網路上的參考解決辦法是

  1. 將Class的定義(引入)置於SESSION_START()以前
  2. PHP Autoloader(參考網址:http://php-autoloader.malkusch.de/en/features/session/)

但我用第一個方法後還是無法正確執行,後來檢查了許久發現我的php.ini設定中session.auto_start=1,是自動啟動的,這樣的話順序調了還是一樣是錯的,所以建議將session.auto_start改成0,然後程式碼內都加上session.start()如此一來就可以避免掉這個問題了。


>