致命错误:require_once()(include_path ='。; C:\ php5 \ pear')

时间:2012-06-25 11:11:48

标签: php

我正在开发一个PHP项目,我在require_once中遇到错误(甚至在require中)

Warning: require_once(C:/wamp/www/MyFiles/MyProject/includes/db_config.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\MyFiles\MyProject\includes\autoloads.php on line 9

Fatal error: require_once() [function.require]: Failed opening required 'C:/wamp/www/MyFiles/MyProject/includes/db_config.php' (include_path='.;C:\php5\pear') in C:\wamp\www\MyFiles\MyProject\includes\autoloads.php on line 9

这就是我包含文件的方式

$root = $_SERVER['DOCUMENT_ROOT'];
//config..
require_once($root . '/MyFiles/MyProject/includes/db_config.php');

我尝试过使用

echo $root . '/MyFiles/MyProject/includes/db_config.php';

正确打印网址

C:\wamp\www\MyFiles\MyProject\includes\db_config.php

我正在使用WAMP服务器5 autload.php和db_config.php在同一个文件夹中

5 个答案:

答案 0 :(得分:0)

  1. 试试这个需要构造

    require 'file';

  2. ..或此根设置

    $root = realpath($_SERVER['DOCUMENT_ROOT']);


  3.   

    更新 的   使用虚拟主机


答案 1 :(得分:0)

文件是否可读?

试试这个:

<?php
echo "Does file exist?". file_exists($file) ? 'true' : 'false';
echo "Is it readable?".is_readable($file) ? 'true' : 'false';
require_once $file;

您还可以使用相对于您所在文件的路径,而不是依赖于DOCUMENT_ROOT字符串:

<?php
$root = realpath(dirname(__FILE__));

此外,Windows中单独的目录是默认情况下的\,而不是/(即使对于require,也应该解决所有问题)。你可以使用一个预定义的常量,只是为了确保它在任何地方兼容:

require_once($root . DIRECTORY_SEPARATOR . 'MyFiles' . DIRECTORY_SEPARATOR . 'MyProject' . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'db_config.php';

此外,如果您正在使用APC缓存,则可以尝试重新启动它,如果文件存在过时的缓存。 (E.G filemtime不正确)

答案 2 :(得分:0)

仔细检查服务器上是否存在该文件。如果由于某种原因你不能这样做,那就可以了:

if(file_exists($myFile)){
echo"The file is there";
}//end of file exists
else{
echo"the file does NOT exist....fool";
}//end of else - the file is not there

这是我能想到的唯一问题 - 文件不在应有的位置...尝试以上操作并让我更新。

答案 3 :(得分:0)

在Linux和Windows机器上,目录分隔符不同也可能存在问题。 也许尝试使用常量DIRECTORY_SEPARATOR而不是硬编码分隔符?

答案 4 :(得分:0)

检查文件是否存在,如果存在,请检查文件的权限。