2013-05-14 44 views
0

我尝试下面的代码导入两个文件使用需要的PHP文件导入()不工作

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

它不显示错误,它只是简单地显示一个空白page.Also我无法使用在这两个文件中定义的变量。 Like $config->DBNAME。 我不知道这是什么错误。 请帮我找到它。

谢谢。

+0

检查“globalvars.php”的拼写更有意义,等等。“../'表示文件是从脚本调用的一个目录。 – Adder 2013-05-14 10:34:47

+0

拼写是正确的。我故意给它。即使我使用'require('globalvasr.php')或死(“错误”);''相同的结果。 – 2013-05-14 10:42:00

+0

这两个文件只在同一目录 – 2013-05-14 10:43:13

回答

1

requireinclude相反,自动死亡并且没有返回值。 这意味着or die()是坏的。更好:

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

如果你有空白页,设置error_reporting: E_ALLphp.iniDisplay_errors: On或把你的脚本启动这些线路

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

然后你会看到错误

+0

这也不会显示错误 – 2013-05-14 10:56:50

+0

这是行不通的,因为它应该是一个小写'd' ini_set('display_errors','On')' – binaryfunt 2016-08-03 17:55:27

1

需要生成一个致命当需求失败时出错,导致脚本执行立即停止。

由于您似乎在Web环境中运行,您的输出(所有回显或打印语句)都会被缓冲直到脚本结束。

因此,在输出缓冲区清空之前,require会失败,导致致命错误(应在错误日志中提供),从而阻止将第一个“echo”发送到浏览器。这就是为什么你会得到一个空白页面。

尝试使用include替换require,您将得到警告而不是致命错误。

+0

尝试使用包含它的作品,但无法调用构造函数GlobalConfigs()导致该问题。 – 2013-05-14 11:06:46

+0

您的GlobalConfigs类是在哪个文件中定义的?该文件是否包含在内? – 2013-05-20 17:35:59