大cvs文件上的fgets错误

时间:2015-12-02 14:53:26

标签: php mysql fopen fgetcsv

我的服务器上运行了几个自定义脚本,用于从模板中提取CSV文件。这些文件有时是250,000 +行。当我到达这一点时,我得到了这个错误。

  

警告:发送QUERY数据包时出错。 PID = 24022

这与mysql查询中的数据包大小相关联不够大。

我用下面的内容增加了mysql查询大小,它似乎改善了它,但并非一直如此。

    SHOW VARIABLES LIKE 'max_allowed_packet';
    set global max_allowed_packet=1073741824;
    set global net_buffer_length=1048576;

我正在使用专用服务器并拥有大量资源,所以我可以增加这个但不确定多少是安全的+不确定这是否是处理这种情况的最佳方法

下面是我正在使用的代码(我删除了很多令人困惑的代码)

 $br = ']'; //this changes
 $handle = fopen($path."".$inputFileName, "r");
 while (($data = fgetcsv($handle, 0, "".$br."")) !== FALSE) 
     {
    ....... my code .... based on $data["...

1 个答案:

答案 0 :(得分:0)

这个问题是我的脚本(很多)花了很长时间才能运行。基本上我只是重新连接到Mysql。所有评论都有帮助