require_once :无法打开流:没有这样的文件或目录

Posted

技术标签:

【中文标题】require_once :无法打开流:没有这样的文件或目录【英文标题】:require_once :failed to open stream: no such file or directory 【发布时间】:2011-07-04 05:42:35 【问题描述】:

我在“PAGE A”中有这个测试代码:

<?php
require_once('../mysite/php/classes/eventManager.php');
$x=new EventManager();
$y=$x->loadNumbers();
?>

"eventManager.php" 里面有一个 require_once:

<?php
require_once('../includes/dbconn.inc');
class EventManager ...
?>

我的文件夹结构是这样的:

mysite/php/classes folder and includes folder

如果我在我收到的浏览器中测试 PAGE A:

警告:require_once(../includes/dbconn.inc) [function.require-once]:无法打开流:没有这样的文件或 目录 C:\wamp\www\mysite\php\classes\eventManager.php 上线 3


致命错误:require_once() [function.require]: 无法打开所需的 '../includes/dbconn.inc' (include_path='.;C:\php5\pear') C:\wamp\www\mysite\php\classes\eventManager.php 在第 3 行

哪里出错了?

谢谢 卢卡

【问题讨论】:

“哪里出错了?”,大声笑?问题解决了吗? 是的 michiel..但我认为绝对路径会更好! Failed to open stream : No such file or directory的可能重复 【参考方案1】:

这个错误很好地解释了问题所在:你试图包含一个不存在的文件。

尝试使用文件的完整路径,使用realpath(),并使用dirname(__FILE__) 获取当前目录:

require_once(realpath(dirname(__FILE__) . '/../includes/dbconn.inc'));

【讨论】:

只是给 Windows 用户的一个提示:我必须将上面的解决方案更改为 require_once(realpath(dirname(FILE) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'util .php'));这也适用于 Linux。【参考方案2】:

您需要链接到与包含 eventManager.php(A 页)的文件相关的文件更改您的代码require_once('../includes/dbconn.inc');

require_once('../mysite/php/includes/dbconn.inc');

【讨论】:

【参考方案3】:

这个也可以

 require_once(realpath($_SERVER["DOCUMENT_ROOT"]) .'/mysite/php/includes/dbconn.inc');

【讨论】:

【参考方案4】:

它说文件C:\wamp\www\mysite\php\includes\dbconn.inc 不存在,所以错误是,你丢失了文件。

【讨论】:

它存在的原因是dreamweaver中已经链接到eventManager了!! 你真的看过这个文件吗?你能找到吗?如果您打开文本编辑器,选择“打开文件”,然后输入C:\wamp\www\mysite\php\includes\dbconn.inc,它会说什么?文件未找到?宾果游戏。 @benubird :我有同样的问题,我检查文件仍然存在于路径中。这是什么问题?我很困惑【参考方案5】:

set_include_path(get_include_path() . $_SERVER["DOCUMENT_ROOT"] . "/mysite/php/includes/");

这也有帮助。见set_include_path()

【讨论】:

以上是关于require_once :无法打开流:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

require_once:无法打开流错误:没有这样的文件或目录

magento - 警告:require_once(app/Mage.php):无法打开流:没有这样的文件或目录

警告:require_once(Composer/PHPMailer/vendor/phpmailer/phpmailer/src/autoload.php):无法打开流:没有这样的文件或目录

警告:require_once(Zend / Application.php)[function.require-once]:无法打开流:没有这样的文件或目录

如何修复'require_once()无法打开流'

PHP5,require_once,打开流失败