我很难让PHP应用程序通过require_once语句。我的PHP代码位于HTML5文档的正文中。我试图在我的密码散列代码中包含PHpass框架。 PHP代码开始产生这样的效果:
<?php
require_once("./includes/PasswordHash.php");
echo "test.";
?>
echo语句永远不会运行,并且echo语句下面也没有运行。如果我注释掉require语句,那么echo语句运行正常。我没有收到任何错误消息,我只收到一份空白文件。
我搞砸了什么?
答案 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__