我已经在 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 使用的文件。可能有一些不同的设置会产生差异。