【问题标题】:How to handle the server error correctly? [duplicate]如何正确处理服务器错误? [复制]
【发布时间】:2014-09-02 21:00:35
【问题描述】:

我面临一个大问题,希望你帮我解决一个。

在服务器上上传文件时,我收到“323344106 字节的 POST 内容长度超过第 0 行未知中 5242880 字节的限制”错误。 我知道错误的含义,但我想捕获错误并将其显示给用户;即,我想将错误显示在 HTML 表单下方,以便用户了解为什么会收到错误。

【问题讨论】:

    标签: php


    【解决方案1】:

    无法捕获此错误,因为它发生在脚本执行之前。不会引发异常,因此您不能使用 try catch 块。

    见:http://us2.php.net/set-error-handler

    如果在脚本执行之前发生错误(例如在文件上传时) 无法调用自定义错误处理程序,因为它未注册 那个时候。

    我的建议如下:

    • upload_max_filesizepost_max_size 设置为显着大于您所定位的最大允许上传大小。任何小于upload_max_filesizepost_max_size 但大于允许大小的数量都可以被捕获并返回错误。

    • 让用户清楚您允许的上传大小是多少。

    • 大于upload_max_filesizepost_max_size 的文件会产生该错误,因此请在生产环境中设置display_errors = off。在这种情况下,将显示一个空白页。向用户显示上传表单的最大上传大小,以减少发生这种情况的机会。

    【讨论】:

    • 啊!很好的答案:) 感谢您解释为什么不能使用 try catch。
    • 我明白)如果我添加一个输入缓冲,我将能够在清除缓冲区后通过“ob_get_contents()”函数捕获错误文本,我会能够在网页的任何地方显示错误,但我不确定解决方案是否正确。
    • @user3024502 问题是一旦遇到错误(它发生在您的脚本开始处理之前),就无法处理它,因为您的脚本不会被执行。
    猜你喜欢
    • 2014-02-10
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    相关资源
    最近更新 更多