2

我有这个标记:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
</head>
<body>

    <?php
      ini_set('display_errors', 1); 
        ini_set('log_errors', 1); 
      include_once('../API/session_management.php');
      //Checking session fixation:
      $sess=new session_management();
      $sess->set_session_configurations();
      $sess->prevent_session_hijacking();
    ?>
    sdfsd
    <a href=""></form>
    <form>
        <input type="text" name="test"/>
    </form>
</body>

问题是当我运行代码时,出现错误。正在打印空白页。不显示错误。为什么会这样,如何启用错误?

这是我在 php ini 中将显示错误更改为 on 并重新启动 apache 之后和之前得到的输出:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
4

1 回答 1

8

你需要的两条线是

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

最好在php.ini文件中为您的开发环境设置这些。这会从您的项目中删除非生产代码并解决诸如语法错误导致您的ini_set()error_reporting()调用不被执行的问题(感谢Corbin)。

另一个建议是,将您的 PHP 代码放在任何 HTML 开始之前(就在脚本的顶部)。看起来您正在处理应该在将任何内容添加到输出缓冲区之前完成的会话。

于 2012-04-13T06:00:47.997 回答