不显示PHP错误

Dmi*_*iyd 2 html php

我有这个标记:

<!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>
Run Code Online (Sandbox Code Playgroud)

问题是,当我运行代码时,出现错误.正在打印空白页.没有显示错误.为什么会这样,我怎样才能启用错误?

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

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
Run Code Online (Sandbox Code Playgroud)

Phi*_*hil 8

你需要的两条线是

ini_set('display_errors', 'On');
error_reporting(E_ALL);
Run Code Online (Sandbox Code Playgroud)

php.ini开发环境的文件中设置它们要好得多.这将从项目中删除非生产代码,并解决语法错误等问题,导致您的调用ini_set()error_reporting()调用无法执行(感谢Corbin).

另一个建议是,在任何HTML启动之前放置PHP代码(位于脚本顶部).看起来你正在处理在将任何内容添加到输出缓冲区之前应该完成的会话.

  • 值得注意的是,如果他的默认display_errors为Off,并且存在语法错误,则不会显示任何错误,因为对ini_set的调用永远不会发生. (2认同)