PHP应用程序没有超过require_once

时间:2013-01-01 19:39:55

标签: php

我很难让PHP应用程序通过require_once语句。我的PHP代码位于HTML5文档的正文中。我试图在我的密码散列代码中包含PHpass框架。 PHP代码开始产生这样的效果:

<?php
require_once("./includes/PasswordHash.php");
echo "test.";
?>

echo语句永远不会运行,并且echo语句下面也没有运行。如果我注释掉require语句,那么echo语句运行正常。我没有收到任何错误消息,我只收到一份空白文件。

我搞砸了什么?

2 个答案:

答案 0 :(得分:1)

您加载的文件不存在或您无权阅读。

启用显示错误:error_reporting(E_ALL);

答案 1 :(得分:1)

您的require_once失败并且您没有看到输出,或者包含的脚本无法恢复。您应该仍然能够在Apache错误日志中看到堆栈跟踪,但您应该始终在开发计算机上启用错误报告 On

BTW,PHP脚本中的当前目录有点棘手。如果您想引用一个文件,其中包含相对于脚本require的路径,我建议使用

<?php
// Use DIRECTORY_SEPARATOR instead of forward slash for OS independence
require_once (dirname(__FILE__) . '/path/to/included.php');
// or you can replace dirname(__FILE__) with __DIR__

请注意使用魔法常量__FILE__