-1

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';

URLをちゃんと印刷しています

すなわち C:\wamp\www\MyFiles\MyProject\includes\db_config.php

私はWAMPサーバー5を使用しています autload.php と db_config.php は同じフォルダーにあります

4

5 に答える 5

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

それが私が考えることができる唯一の問題です-ファイルがあるべき場所にありません...上記を試して、最新情報を入手してください。

于 2012-06-25T11:19:40.177 に答える
0

Linux マシンと Windows マシンでディレクトリ セパレータが異なることも問題である可能性があります。DIRECTORY_SEPARATORハードコードされたセパレータの代わりに定数を使用してみてください。

于 2012-06-25T11:20:38.503 に答える
0

ファイルの存在を確認し、存在する場合はファイルのパーミッションを確認します。

于 2012-06-25T11:21:42.743 に答える
0
  1. これを試してみてください

    require 'file';

  2. ..またはこのルート設定

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


update 使用仮想ホスト


于 2012-06-25T11:18:02.700 に答える
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 キャッシュを使用している場合、ファイルの古いキャッシュがある場合は、再起動を試みることができます。(EG filemtime が正しくありません)

于 2012-06-25T11:18:45.130 に答える