PHP线程脚本已中止

时间:2012-11-15 07:17:38

标签: php multithreading excel thread-abort

我的服务器(一个线程)每1小时运行一个php脚本。这个线程正在做的是,用户可以上传带有数据的excel文件,该线程将excel文件中的数据与数据库中的数据进行比较并执行某些操作(如果找不到的行,则与数据库中的某些插入无关)。要读取excel文件,我请调用:

$data = new Spreadsheet_Excel_Reader();
$data->read($file);

用户可以在名为File_1.xls,File_2.xls,File_3.xls的服务器上上传更多xls文件 我读取第一个文件得到所有数据做所有比较做所有插入这可能需要一段时间有时它超过6000行excel。我注意到,如果线程运行很长,例如他可以插入文件1和文件2和文件到一个像6000+行的大的我在我的错误日志中得到一个Abort。我认为这是excel读者的错。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

据我所知,您的服务器没有足够的内存(RAM)来容纳多个文件指针和大数组数据。增加服务器的内存或尝试使用不同的算法从XLS读取数据以进行比较插入。