0

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

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

echo 语句永远不会运行,并且 echo 语句下面的任何内容都不会运行。如果我注释掉 require 语句,那么 echo 语句运行良好。我没有收到任何错误消息,我只收到一个空白文档。

我在搞什么鬼?

4

2 回答 2

1

您加载的文件不存在或您没有读取它的权限。

打开显示错误:error_reporting(E_ALL);

于 2013-01-01T19:43:20.780 回答
1

要么您require_once失败并且您看不到输出,要么包含的脚本失败不可恢复。我认为您仍然应该能够在 Apache 错误日志中看到堆栈跟踪,但您应该始终在开发机器上打开错误报告

顺便说一句, 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__

于 2013-01-01T19:44:56.920 回答