Fedora

為什麼我在 Fedora 上的 PHP 中出現不存在的類錯誤?

  • October 28, 2011

我已經在我的 Fedora 15 安裝上設置了一個 Nginx/PHP(都從 Yum 安裝)環境,但是我遇到了一個奇怪的問題。

我有一些使用 Codeigniter (1.6) 的項目,但他們不斷收到以下錯誤:

不存在的類:內容

完整的輸出看起來好像 PHP 開始解析 Content.php 文件,但在中途停止:

{ $ var})) { $this->{$var} = ‘’; } $ this->{$var} .= ob_get_clean(); } }

遇到錯誤

不存在的類:內容

Content.php 的內容是:

<?

class Content {

   function capture() {
   ob_start();
   }

   function __get($name) {
   return '';
   }

   function content_for($var) {
   if (!isset($this->{$var})) { //It stops on this line
       $this->{$var} = '';
   }
   $this->{$var} .= ob_get_clean();
   }

}

對我來說奇怪的是,這個完全相同的設置在 Ubuntu 上執行得很好(使用這個設置的項目已經執行了一段時間,我還在幾台 Ubuntu 機器上設置了它進行開發並且從未遇到過這個問題。我也知道 PHP 本身可以正常工作,因為我可以執行一個使用一點 PHP 的基本站點,以及一些使用不同框架的項目。

據我所知,它在到達 Content.php 之前執行了許多其他 PHP 文件(它必須,甚至只是為了達到告訴它載入 Content 開始的點),所以 PHP 至少可以工作有一段時間,但隨後它似乎突然死亡。日誌文件中也沒有任何其他錯誤。

是什麼導致了這個錯誤,我該如何解決?

您應該比較php.iniFedora 和 Ubuntu 使用的文件。可能有一些不同的設置會有所不同。

引用自:https://unix.stackexchange.com/questions/23415