我在index.php页面的正文中有以下代码:
echo "Begin <br />";
include('test.shtml');
echo "Importing dbRead.php here <br />";
include(dirname(__FILE__) . '/dbRead.php');
echo "We have included dbRead.php here <br />";
页面上的输出为:
开始
内部test.shtml
在此处导入dbRead.php
这些文件都在同一个目录中。怎么回事?
EDIT:dbRead.php是一个类。我的WAMP服务器可以很好地解析它,但在我上传后,web服务器不会解析它。它包含一个具有正确格式的方法和构造函数的类。
据我所知,所有的echo都是在include(dirname(__FILE__) . '/dbRead.php');
之前执行的,但之后没有可见的echo输出。有一些可能性,例如:
- 在
dbRead.php
中,您使用例如ob_start();
(请参阅文档),因此会执行echo,但不会将其发送到浏览器 - 您有一些错误终止了
dbRead.php
中的脚本,但您关闭了错误报告(请参阅文档) - 您在包含的文件中调用了CCD_ 5(请参阅文档)或CCD_
根据您的输出,问题不在于include
s(顺便说一句,除非文件本身(index.php)也包含在另一个文件中,否则dirname(__FILE__)
是不必要的)。。。问题是dbRead.php
中有错误,或者它不存在,或者它停止了进一步的执行(使用exit
die
等)。
你的DIR看起来像吗:
/
/index.php
/test.shtml
/dbRead.php
还是您希望dirname(__FILE__)
以某种方式移动目录?