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 파일을 실행하므로(콘텐츠 로드를 시작하라는 지시를 내리는 지점까지 도달해야 함), PHP는 적어도 몇 년 동안 작동합니다. 그러다가 갑자기 죽은 것 같아요. 로그 파일에도 다른 오류가 없습니다.
이 오류의 원인은 무엇이며 어떻게 해결합니까?
답변1
php.ini
Fedora와 Ubuntu에서 사용되는 파일을 비교해야 합니다. 차이를 만드는 몇 가지 다른 설정이 있을 수 있습니다.