【问题标题】:A PHP Error using Factual使用 Factual 的 PHP 错误
【发布时间】:2012-05-03 14:54:25
【问题描述】:

我使用 Codeigniter 作为我的 PHP 框架。当我运行实际 API 时,我得到了结果,但有 PHP 警告。

Severity: Warning 

Message: include(/home/bwilson/public_html/factual/CI_DB.php): failed to open stream: No such file or directory 

Filename: factual/Factual.php 

Line Number: 217 

Severity: Warning 

Message: include(): Failed opening '/home/bwilson/public_html/factual/CI_DB.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') 

Filename: factual/Factual.php 

Line Number: 217 

我查看 factual.php 文件中的第 217 行,它显示:

include dirname(__FILE__)."/".$className . ".php"; 

指的是什么?我在没有运行 Factual API 和控制器加载查找的情况下对此进行了测试。只有当我开始使用 Factual API 时。

这是我从 Factual 收到的回复:

驱动程序使用 SPL 自动加载功能来包含文件 动态卸载类。

在这里,CI_DB 类——一个 Codeigniter 类,而不是 Factual——正在 在没有先加载的情况下调用。这会触发我们的自动加载功能 最后尝试加载文件。

简而言之:这不是 Factual 驱动程序问题;解决,确保 包含 CI_DB 类的文件已正确加载。

【问题讨论】:

    标签: php codeigniter factual


    【解决方案1】:

    它只是试图在与factual.php 相同的文件夹中找到CI_DB.php

    确保该文件确实存在于它试图找到它的位置。注意文件名是什么大小写。

    如果文件确实存在于应有的位置,请检查其权限。

    【讨论】:

    • 我的 Codeigniter 目录中的任何地方都没有文件名 CI_DB.php。我下载了 Codeigniter 的新副本,看看副本中是否有文件,但没有。不确定这个文件是什么以及它引用了什么。
    • 查看system/database/DB.php,第 129 行。之后您可能需要在 CI_DB 上执行 var_dump 以确保它已被设置。
    【解决方案2】:

    查找错误后返回不支持的模块。我只是通过将错误报告设置为生产来禁用index.php 文件中的错误报告。同时,只要我的结果相同,我就可以接受。

    感谢所有做出贡献的人。

    【讨论】:

      【解决方案3】:

      你用吗?:

      require_once BASEPATH . "/{$className}.php";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-09
        相关资源
        最近更新 更多