为什么我在 Fedora 上的 PHP 中遇到不存在的类错误?

为什么我在 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 至少可以工作有一段时间,但随后又好像突然死了。日志文件中也没有任何其他错误。

是什么导致了这个错误,我该如何修复它?

答案1

php.ini您应该比较Fedora 和 Ubuntu 使用的文件。可能有一些不同的设置会产生差异。

相关内容