遇到一个很刺手的问题。一个程序
放error_reporting(E_ALL);就正常,此时不会显示错误信息,因为程序变正常了
不放error_reporting(E_ALL);程序就出错,但是没有显示报错信息啊。坑爹啊。所以不知道发生了什么事情。请问这张情况下如何知道到底哪里报错了?

解决方案 »

  1.   

    error_reporting(0);
    这样让他不报错呢?
      

  2.   

    页面涉及到ob_implicit_flush、ob_flush()、flush()这几个函数。本来程序是执行一行,直接在浏览器显示一行结果的,现在屏蔽了错误信息,执行一两分钟之后,浏览器自动不正常停止了。
    打开错误信息,又能一点点的显示,开始运行了。
    我怀疑是缓冲区之类的错误,跟php.ini有关吧。但是没错误信息,啥都干不了。而且对方是虚拟空间,根本没办法调试,phpinfo都被禁用。擦。困难重重,只能把错误的各种情形都一一设想了。
      

  3.   


    我理解的就是ob_implicit_flush、ob_flush()、flush()前面必须有东西输出,才不至于报错,显示错误信息达到了这个目的,如果做个试验,在前面加上echo,应该就可以正常运行吧。不知道这是为什么
      

  4.   

    有没有什么办法,把php错误保存到文件中,不显示在页面?我是说用程序做到,而不是apache等web服务器的系统日志
      

  5.   

    要看error或者notice不然写不到文本中