header() error not shown in php

后端 未结 3 1680
伪装坚强ぢ
伪装坚强ぢ 2021-01-27 12:20

I wrote a PHP program, I use session_start() and header() functions, I know I should use this functions before I sending anything to client. it\'s ok,

相关标签:
3条回答
  • 2021-01-27 12:51

    You don't see the error because
    a. output buffering is on
    b. the server ignores your error_reporting function because something else instructs it otherwise run phpinfo(); and see what it says there about output buffering and about error_reporting.

    0 讨论(0)
  • 2021-01-27 12:59

    I found the problem, I don't use any FrameWork.

    the problem was error_reporting('E_ALL');

    I wrote this code on first of my program, and so PHP didn't return any errors ! I deleted this line and I get the errors !

    This is kidding because this line said to PHP to show ALL errors ! I don't know why PHP don't show any errors.

    0 讨论(0)
  • 2021-01-27 13:09

    This might be possible because you write into an output buffer (ob_start) which doesn't actually return anything to the client until you explicitly flush the buffer (ob_flush or ob_end_*) or the script ends.

    The fact that you can't send headers after you begun writing the body part of your HTTP response is not a php but a HTTP protocol limitation, so this cannot be version specific either.

    Many frameworks like the Zend Framework use output buffers so a developer doesn't need to care about the order.

    0 讨论(0)
提交回复
热议问题