luc*_*uca 16 php dreamweaver require fatal-error
我在"PAGE A"中有这个测试代码:
<?php
require_once('../mysite/php/classes/eventManager.php');
$x=new EventManager();
$y=$x->loadNumbers();
?>
Run Code Online (Sandbox Code Playgroud)
"eventManager.php"里面有一个require_once:
<?php
require_once('../includes/dbconn.inc');
class EventManager {...}
?>
Run Code Online (Sandbox Code Playgroud)
我的文件夹结构是这样的:
mysite/php/classes folder and includes folder
Run Code Online (Sandbox Code Playgroud)
如果我在浏览器中测试PAGE A,我会收到:
警告:require_once(../ includes/dbconn.inc)[function.require-once]:无法打开流:C:\ wamp\www\mysite\php\classes\eventManager.php中没有这样的文件或目录3
致命错误:require_once()[function.require]:在C:\ wamp\www\mysite\php中打开所需的'../includes/dbconn.inc'(include_path ='.; C:\ php5\pear')失败第3行的\ classes\eventManager.php
错误在哪里?
谢谢卢卡
Mic*_*ter 16
您需要链接到相对于包含eventManager.php(页面A)更改代码的文件的文件
require_once('../includes/dbconn.inc');
至
require_once('../mysite/php/includes/dbconn.inc');
Aro*_*eel 13
错误几乎解释了问题所在:您正在尝试包含不存在的文件.
尝试使用文件的完整路径,使用realpath()和使用dirname(__FILE__)获取当前目录:
require_once(realpath(dirname(__FILE__) . '/../includes/dbconn.inc'));
Run Code Online (Sandbox Code Playgroud)
这也能工作
require_once(realpath($_SERVER["DOCUMENT_ROOT"]) .'/mysite/php/includes/dbconn.inc');
Run Code Online (Sandbox Code Playgroud)