PHP:返回语句中的断管

时间:2018-02-13 10:05:59

标签: php mysql broken-pipe

我有一个在命令行上运行的脚本并执行一些mysql数据库处理(从一个表中选择数据,进行一些计算并插入/更新另一个表)。经过10000次迭代后,我重复得到以下错误:

  

DBALStatement :: removeColons():发送5个字节失败,错误为errno = 32   破管

这是有问题的方法:

public static function removeColons($params) : array
{
    $result = [];
    foreach ($params as $key => $val) {
        if ($key[0] == ':') {
            $key = substr($key, 1);
        }
        $result[$key] = $val;
    }

    return $result;
}

发生错误的行是return语句:

    return $result;

我知道在执行网络或文件操作时会发生损坏的管道,但是如何在一个简单的返回语句中得到这个错误,而且没有管道附近?我错过了什么?

编辑:似乎破坏的管道实际上发生在mysql查询期间,这会更有意义。我目前仍在试图弄清楚这是一个超时问题还是什么。但是,请务必注意,PHP错误日志中报告的方法和行号在此实例中似乎是错误的,因为错误显然不会在return语句中发生。我认为这是PHP错误报告中的一个错误。

0 个答案:

没有答案