이전에이 문제에 대해 답변을 받았으며 그 원인을 알았습니다. 그러나 필자의 경우, 문제는 php 5.3.6의 MacOS Lion (10.7)에서만 발생합니다. 동일한 코드베이스가 PHP 5.3.8에있는 Windows 7 머신에서 실행 중입니다.치명적인 오류 : DbBase 클래스를 다시 선언 할 수 없습니다.
여기 저기에 require_once를 사용했습니다. 문제의 원인이되는 코드 조각은 다음과 같습니다.
class DbBase
{
...
}
파일이 여러 파일에 포함되어 있습니다.
파일 DBBase.php :
defines Class DBBase
파일 A_DB.php :
require_once("DBBase.php")
내가이 시나리오를
if (class_exists('DbBase') != true)
{
class DbBase
{
...
}
}
: 나는 내부 클래스 선언을 포장하는 경우에는 오류가 사라
파일 B_DB.php :
require_once("DBBase.php")
파일 foo.php :
require_once("A_DB.php")
require_once("B_DB.php)
그래서 파일 DBBase.php 두 번 포함됩니까. 그거야?
모든 의견에 감사드립니다.
"클래스를 재 선언 할 수 없습니다"라는 오류는 클래스를 선언하는 것으로 보이지 않으므로이 코드로 인해 발생할 수있는 가능성은 거의 없습니다. 전체 오류 메시지와 그것이 참조하는 파일/행을 게시하는 것이 좋습니다. – StasM
당신은 정확합니다, 사과드립니다. 문제가되는 코드는 실제로 클래스 정의입니다. 그러나 if (class_exists ('ClassName')! = true)에서 클래스 정의를 래핑하지 않으면 오류가 사라지지 않습니다. –