このテストコードは"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
エラーはどこにありますか?
ありがとうルカ
_eventManager.php
_を含むファイルに関連するファイルにリンクする必要があります(ページA)
コードの変更元require_once('../includes/dbconn.inc');
Torequire_once('../mysite/php/includes/dbconn.inc');
エラーは、問題が何であるかをほとんど説明しています:そこにないファイルを含めようとしています。
フルパスを使用して、 realpath()
を使用して、 dirname(__FILE__)
を使用して、現在のディレクトリを取得します。
require_once(realpath(dirname(__FILE__) . '/../includes/dbconn.inc'));
これも同様に機能します
require_once(realpath($_SERVER["DOCUMENT_ROOT"]) .'/mysite/php/includes/dbconn.inc');
set_include_path(get_include_path() . $_SERVER["DOCUMENT_ROOT"] . "/mysite/php/includes/");
これも役立ちます。 set_include_path()
を参照してください。
ファイルC:\wamp\www\mysite\php\includes\dbconn.inc
が存在しないため、エラーが発生し、ファイルが欠落しています。