致命错误:类';数据库';未找到-PHP

致命错误:类';数据库';未找到-PHP,php,Php,当我尝试使用problem类时,出现以下错误: Fatal error: Class 'database' not found in path/problem.php on line 25 我不明白为什么会出现这个错误,在problem.php的顶部,我需要database.php。发生了什么事 problem.php <?php require("common.php"); require("database.php"); ... ?> database.php <?

当我尝试使用problem类时,出现以下错误:

Fatal error: Class 'database' not found in path/problem.php on line 25
我不明白为什么会出现这个错误,在problem.php的顶部,我需要database.php。发生了什么事

problem.php

<?php
require("common.php");
require("database.php");
...
?>

database.php

<?php
class database
{
    ...
}
?>

是否包含该文件

 include "database.php"; // or the path relative to database.php
 class problem
{
别客气。 可能:包含(必需)未打开文件。

您可以添加吗

echo "OK";
是否转到database.php的页脚并再次检查


所以,我们可以理解,database.php确实包含在页面中

这可能是一个包含路径问题。为了修复它,请在problem.php文件中

这样做:

echo realpath (dirname(__FILE__));
这将输出类似于

/var/www/html/myfilepath/

您的文件problem.php将位于该目录中

现在,如果database.php也在该目录中,您可以这样做

$filepath = realpath (dirname(__FILE__));

require_once($filepath."/database.php");
如果它在别的地方,你可以做

require_once($filepath."/../../path/to/somewhere/else/database.php");

对于后代:为了澄清失败的原因,从最初通话的角度来看,您包括了以下内容,让我解释一下,举个例子:

myfolder/index.php
<?php
 include ("classes/problem.php");
 ...
?>
myfolder/index.php

这意味着,当您进入“
problem.php
”并提到“
database.php
”时,就PHPland而言,您已经进入了“
myfolder/
”,而不是“
myfolder/classes
”(您需要进入才能理解)。正确的方法是通过第1页第1行的常量,简单地使用绝对路径。我知道这是很多人说的可怕的东西——但老实说,这是“名称空间”应该解决的问题,但我仍然会使用常量(IMHO名称空间在php中很糟糕,更多的是自我膨胀/开源广告/作者自夸议程,任何具体或有用的东西)

您能提供准确的代码吗?problem.php和database.php是否在同一个文件夹中?Ciprian L:这是准确的代码。什么意思?埃里克:是的。问题在哪一点被实例化了?所有的文件都在同一个目录中吗?这是问题的第三行。phpIt没有出现。。。为什么会这样?database.php位于同一目录中。确定。现在可以直接检查database.php了吗?当您查看database.php时,它显示OK?还是空白页?如果返回空白页,则会在database.php./var/www/html/spring-php/controllers/./../model/User.php上出现语法错误,这就是我得到的结果。请帮忙