Fedora
為什麼我在 Fedora 上的 PHP 中出現不存在的類錯誤?
我已經在我的 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.ini
Fedora 和 Ubuntu 使用的文件。可能有一些不同的設置會有所不同。