我正在尝试从excel工作表中导入一些数据,然后将此数据插入我的数据库中,我想要的是,如果用户上传了大量条目,比如说在excel工作表中输入了16000个条目,并试图上传大量数据在我的服务器上,然后服务器显示500个内部服务器或服务器来处理浏览器上的此请求,因此我必须在php服务器端捕获此错误,并向用户显示我的自定义消息。
为此,我试图抓住它,但是它不起作用,所以请帮助我。
<?php
ini_set('display_errors', 1);
function import_client()
{
try
{
//my php code in this i am reading excel
//sheet data and inserting in my database.
}
catch (Exception $e)
{
echo "you are importing huge data
hence server will not unable to handle this request";
}
}
?>
答案 0 :(得分:0)
错误代码500是内部服务器错误。它显示您的服务器何时出错。在那之后它将不执行任何服务。所以没有办法处理它。
答案 1 :(得分:0)
由于您使用的是CodeIgniter,因此可以使用Here, in CI's User Guide中所述的CI内置功能来执行错误处理
也就是说,对于所有没有被try-catching或其他方法明确捕获的情况,错误处理应该是经过正确编码的应用程序的最后一层。至少在开发环境上,您应该尝试在启用完整日志记录和错误报告的情况下重现错误,并尝试找出如何防止错误(而不是仅在发生错误时进行处理)。
即使您没有提供太多数据,很多事情也会浮现在脑海。如果5xx错误是由于处理时间过长而触发的,则可以考虑将上传的工作表拆分为多个块并进行批量处理。也许您的数据库正在运行,在这种情况下,您可能会遇到服务器规格问题,甚至每次插入时都要进行许多索引计算。工作表本身可能包含一些会干扰您插入内容的内容(例如,违反表/字段定义)。
您是否试图确定错误原因?