PHP文件包含停止执行

PHP文件包含停止执行,php,html,include,Php,Html,Include,在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 />"; echo“开始”; 包括('test.shtml'); ech

在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 />";
echo“开始
”; 包括('test.shtml'); echo“在此处导入dbRead.php
”; 包括(dirname(_文件)'/dbRead.php'); echo“我们在这里包含了dbRead.php
”;
页面上的输出为:

开始
内部测试.shtml
在此处导入dbRead.php

这些文件都在同一个目录中。发生什么事了


编辑:dbRead.php是一个类。它被我的WAMP服务器解析得很好,但在我上传之后,web服务器就没有了。它包含一个具有正确格式的方法和构造函数的类。

据我所知,所有的echo都是在include(dirname(u文件).'/dbRead.php')之前执行的,但之后没有可见的回波输出。有一些可能性,例如:

  • dbRead.php
    中,您使用例如
    ob_start()(请参阅),因此会执行回显,但不会发送到浏览器
  • 您在
    dbRead.php
    中出现了一些终止脚本的错误,但是您关闭了错误报告(请参阅)
  • 您在包含的文件中调用了
    exit
    (请参阅)或
    die()
    (请参阅)

根据您的输出,问题不在于
包含
s(顺便说一句,
dirname(\uu文件)
是不必要的,除非文件本身(index.php)也包含在另一个文件中)。。。问题是您在
dbRead.php中有一个错误,或者它不存在,或者它停止了进一步的执行(使用
exit
die
等)

您的目录看起来像:

/
/index.php
/test.shtml
/dbRead.php

???或者您是否希望
dirname(\uuuu FILE\uuuu)
以某种方式移动目录?

我忘了添加inside test.shtml只是:inside test.shtml-您可以编辑您的问题(而不是评论)-dbRead.php中的内容是什么有什么问题吗?据我所知,一切正常。它也可以在我的WAMP服务器上工作,但在我发布到web服务器时不起作用。您的示例代码没有标题中提到的
include\u once()
。如果您的问题是在
dbRead
include之后什么也没有发生,并且下面的回送看起来也不起作用,那么它可能是引用脚本中的错误(或者只是
退出;
)。尝试提出
error\u reporting
以查看。您应该尝试将error\u reporting(E\u ALL)添加到脚本顶部,并查看php是否抛出任何错误。dbRead.php中存在错误。仍然不明白为什么会出现错误,但它确实存在。哈哈哈,服务器是旧的,只支持PHP4>。