2012-06-25 141 views
0

我工作的一個PHP項目,我得到的require_once錯誤(或者甚至需要)致命錯誤:require_once()(include_path中= '; C: PHP5 梨')

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都在同一個文件夾

+2

你肯定**文件('db_config.php')在那個目的地嗎? – 2012-06-25 11:12:58

+0

是的文件位於相同的路徑 –

+0

我是否需要在PHP.ini中進行任何配置? –

回答

0
  1. 試試這個要求建設

    require 'file';

  2. ..或此根設置

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


update use virtual host


+0

仍面臨着同樣的錯誤:( –

+0

@SyedSalmanRazaZaidi您是否嘗試過刪除路徑中的空格? – treng

+0

沒有空格的路徑 –

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默認情況下是\,而不是/(即使對於要求,alltough /也應該解析)。有預定的常數,您可以使用,只是爲了確保它是兼容的無處不在,但:

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

此外,如果你正在使用APC緩存,可以嘗試重新啓動它,如果有該文件的一個過時的高速緩存。 (E.G filemtime不正確)

+0

感謝回覆喬恩,這兩個語句都打印真實,但reuquire_once此代碼給出相同的錯誤:( –

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 

這是我能想到的唯一的問題 - 該文件是不是它應該是...試試上面,並讓我瞭解。

+0

是它的打印文件有 –

0

也可能是一個問題,目錄分隔符在Linux和Windows機器上不同。 也許嘗試使用常量DIRECTORY_SEPARATOR而不是硬編碼分隔符?

+0

順便說一句,如果你說'echo $ root。'/MyFiles/MyProject/includes/db_config.php ';'在你的代碼中,它迴應'C:\ wamp \ www \ MyFiles \ MyProject \ includes \ db_config.php'我認爲你的斜線和反斜槓可能有問題 –

0

檢查文件是否存在,如果存在,請檢查文件的權限。

+0

是的,我試過檢查文件的存在和它存在 –

相關問題