【发布时间】:2012-12-26 12:05:33
【问题描述】:
这个错误已经耗尽了我过去 64 分钟的理性思考能力,我真的不知道我该怎么办。
当我在包含的文件中使用以下 3 行时:
var_dump(file_exists('G:/xampp/htdocs/myproject/public_html/includes/htmlPurifierAndMarkdown.php')); //retuurns true
var_dump(__FILE__);
include '../htmlPurifierAndMarkdown.php'; //gives error
我得到以下输出:
boolean true
string 'G:\xampp\htdocs\myproject\public_html\includes\classes\genral.class.php' (length=71)
( ! ) Warning: include(../htmlPurifierAndMarkdown.php) [function.include]: failed to open stream: No such file or directory in G:\xampp\htdocs\myproject\public_html\includes\classes\genral.class.php on line 4
Call Stack
# Time Memory Function Location
1 0.0005 345328 {main}( ) ..\add.php:0
2 0.0036 382408 include( 'G:\xampp\htdocs\myproject\public_html\includes\classes\events.class.php' ) ..\add.php:28
3 0.0041 398024 include( 'G:\xampp\htdocs\myproject\public_html\includes\classes\standardpost.class.php' ) ..\events.class.php:2
4 0.0047 413928 include( 'G:\xampp\htdocs\myproject\public_html\includes\classes\genral.class.php' ) ..\standardpost.class.php:2
简而言之:
- 第一行表明该文件不是我想象的一部分,它确实存在。
- 第二行告诉我调用脚本的位置,仔细检查路径后,您会注意到我试图包含的文件位于父目录中
- 包含函数表示文件不存在
我只是在想象一些东西还是这是一些严重的 php 错误?
更新
当我手动访问genral.class.php 时,不会产生错误。从包含的文件中包含时是否适用特殊规则?
更新 2
当我将包含路径设置为 '../includes/htmlPurifierAndMarkdown.php' 时,这是相对于主调用脚本的路径,而主调用脚本又包含一个包含 genral.class.php 的脚本,它可以工作,但由于这个新include 仅与许多调用脚本中的一个相关,它对其他脚本进行了分解。在包含文件中包含文件时是否适用特殊规则??
【问题讨论】: