Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
$php_errormsg而不是异常_Php - Fatal编程技术网

$php_errormsg而不是异常

$php_errormsg而不是异常,php,Php,我们正在制作一个表单来上传Laravel4中的一些文件,我们的上传档案相当大,高达500MB左右 我希望我们的系统在帖子大小超过POST\u max\u size中设置的大小时抛出一个异常,但是我们看到的不是PHP抛出一个异常,而是PHP设置了一个名为$PHP\u errormsg的变量,应用程序继续运行,没有任何$\u POST数据 是否有一种方法可以配置PHP自动抛出此类错误的异常,或者我需要编写一些逻辑检查,例如$PHP\u errormsg等的存在 我认为这是一种以不同方式处理此类错误的

我们正在制作一个表单来上传Laravel4中的一些文件,我们的上传档案相当大,高达500MB左右

我希望我们的系统在帖子大小超过POST\u max\u size中设置的大小时抛出一个异常,但是我们看到的不是PHP抛出一个异常,而是PHP设置了一个名为
$PHP\u errormsg
的变量,应用程序继续运行,没有任何
$\u POST
数据

是否有一种方法可以配置PHP自动抛出此类错误的异常,或者我需要编写一些逻辑检查,例如$PHP\u errormsg等的存在

我认为这是一种以不同方式处理此类错误的相当奇怪的方式。为什么要偏离标准PHP异常

我所做的另一个观察是,$php_errormsg变量只有在我在index.php中检查时才存在,在初始应用程序入口点,但当Laravel 4到达控制器操作时,根本没有任何错误的概念,$php_errormsg缺失,没有引发任何异常,因为
$\u POST
被屏蔽,我们得到的验证错误是缺少必填字段,而不是实际字段:

POST内容长度x字节超过x的限制 字节


在我的控制器中添加以下代码:

global $php_errormsg;
if (!is_null($php_errormsg)) {
    throw new Exception($php_errormsg);
}

我可以适当地显示错误,并通过向用户显示正确的错误消息来处理它。

您是否尝试写入ini\u集(“显示错误”,“打开”);错误报告(E_全部);在您的脚本中?它肯定是打开的,发生的每一个其他错误要么显示在HTML输出中,要么显示在Laravel的错误显示页面中。似乎有人用@抑制了某些函数调用的错误,似乎我不是唯一一个有此问题的人: