0

我尝试使用以下代码导入两个文件

<?php echo "php";
    require('../globalvasr.php') or die("error");
    require('../newcosn.php') or die("error2");
    $config = new GlobalConfigs();
?>

它不显示错误,它只是显示一个空白页。我也无法使用这两个文件中定义的变量。喜欢$config->DBNAME。我不知道这有什么问题。请帮我找到它。

谢谢你。

4

3 回答 3

1

require,与 相比include,自动消亡并且没有返回值。这意味着它or die()很糟糕。更好的:

<?php echo "php";
    require('./globalvasr.php');
    require('./newcosn.php');
    $config = new GlobalConfigs();
?>
于 2013-05-14T10:42:36.050 回答
1

当 require 失败时,Require 会产生一个致命错误,导致脚本执行立即停止。

由于您似乎在 web 环境中运行,因此您的输出(所有 echo 或 print 语句)将被缓冲直到脚本结束。

所以这里 require 失败,在输出缓冲区被清空之前导致致命错误(应该在错误日志中可用),从而阻止您的第一个“echo”被发送到浏览器。这就是为什么你会得到一个空白页。

尝试用包含替换 require,您将收到警告而不是致命错误。

于 2013-05-14T10:43:01.530 回答
0

如果您有空白页,请设置error_reporting: E_ALLDisplay_errors: On放入php.ini或放在脚本的开头这些行

error_reporting(E_ALL);
ini_set('Display_errors','On');

然后你会看到错误

于 2013-05-14T10:42:57.400 回答