致命错误:类';数据库';未找到-PHP
当我尝试使用problem类时,出现以下错误:致命错误:类';数据库';未找到-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 <?
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上出现语法错误,这就是我得到的结果。请帮忙