web-dev-qa-db-ja.com

require_once:ストリームのオープンに失敗しました:そのようなファイルまたはディレクトリはありません

このテストコードは"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

ブラウザでページAをテストすると、次のメッセージが表示されます。

警告:require_once(../ includes/dbconn.inc)[function.require-once]:ストリームを開けませんでした:C:\ wamp\www\mysite\php\classes\eventManager.phpにそのようなファイルまたはディレクトリがありません3


致命的なエラー:require_once()[function.require]:C:\ wamp \で必要な '../includes/dbconn.inc'(include_path = '.; C:\ php5\pear')のオープンに失敗しました3行目のwww\mysite\php\classes\eventManager.php

エラーはどこにありますか?

ありがとうルカ

16
luca

_eventManager.php_を含むファイルに関連するファイルにリンクする必要があります(ページA)

コードの変更元
require_once('../includes/dbconn.inc');

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

16
Michiel Pater

エラーは、問題が何であるかをほとんど説明しています:そこにないファイルを含めようとしています。

フルパスを使用して、 realpath() を使用して、 dirname(__FILE__)を使用して、現在のディレクトリを取得します。

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

これも同様に機能します

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

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

これも役立ちます。 set_include_path() を参照してください。

1
Hao Zonggang

ファイルC:\wamp\www\mysite\php\includes\dbconn.incが存在しないため、エラーが発生し、ファイルが欠落しています。

1
Benubird