Php 可以删除包含的类吗?

Php 可以删除包含的类吗?,php,kohana,Php,Kohana,我正在CMS上使用一个第三方文件管理器插件,我想包括一个来自我正在使用的PHP框架的身份验证检查。身份验证部分工作得很好,只是一个简单的include,然后是auth检查,但是在包含的类和文件管理器的类之间似乎存在一些冲突。例如,我得到一个“Class Kohana not found”错误,其中属于文件管理器的类尝试实例化属于框架的类 在我的文件管理器主条目文件的顶部,我有以下内容: //load Kohana framework for Authorisation include('../.

我正在CMS上使用一个第三方文件管理器插件,我想包括一个来自我正在使用的PHP框架的身份验证检查。身份验证部分工作得很好,只是一个简单的include,然后是auth检查,但是在包含的类和文件管理器的类之间似乎存在一些冲突。例如,我得到一个“Class Kohana not found”错误,其中属于文件管理器的类尝试实例化属于框架的类

在我的文件管理器主条目文件的顶部,我有以下内容:

//load Kohana framework for Authorisation
include('../../../../../admin/index.php');

// If not a valid authenticated user, kill page
if ( ! Auth::instance()->logged_in())
{
    die('Unauthorized');
}
完成身份验证后,我不再需要包含的文件和类,因为它们似乎与文件管理器冲突。有没有办法让我做到这一点,或者我误解了这里发生的事情

抛出的错误在文件管理器类中-public_html/media/js/tiny_mce/plugins/ajaxfilemanager/inc/class.file.php[67]

function file($path=null)
{
    $this->__construct($path);
}

找不到类xyz
不是冲突的迹象-它是可能无法加载的Kohana引导


无法在PHP脚本中“卸载”类。如果两个包共享一个类名,则必须在单独的脚本中加载它们,或者将其中一个移动到单独的脚本中(需要PHP5.3+)。但是,如前所述,在您的情况下,您可能只需要加载正确的引导文件以包含所需的类。

谢谢。我已经测试过引导程序是否被加载(尽管我故意阻止正常路由的发生)-我需要Kohana来完成的所有工作实际上都很好,例如包括front controller index.php,然后使用Auth类执行简单的身份验证检查。我不明白为什么文件管理器类中的函数会抛出Kohana not found错误。我在我的原稿中添加了一些额外的信息post@djonz发生这种情况的最常见原因是,当使用
http://
路径包含文件时——在这种情况下,脚本将在单独的PHP实例中运行,该实例中未加载该类。除此之外,脚本中的一个“类未找到”消息没有意义,如果该类成功地加载了http:///i的有趣的重新包含的文件,我将查看这一点,看看这是否是问题所在。谢谢你终于弄明白了这里发生了什么。结果表明,每个加速器偶尔会出现问题(请参阅)。当我禁用每个加速器时,问题就消失了。啊,浪费了这么多时间!