gpt4 book ai didi

php - MySQL 服务器已经消失 - Zend

转载 作者:行者123 更新时间:2023-11-29 10:41:28 25 4
gpt4 key购买 nike

我有一个非常奇怪的问题。我正在开发基于 zend 框架的商店。我正在创建与一些拍卖服务(allegro.pl)的集成。我需要通过 SOAP 下载所有项目。在我的函数完成工作后,我得到“MySQL 服务器已经消失”。

这是我的代码:

private function getProducts()
{
$items = [];
$filterOptions = /* doesn't matter for this question */;
$allegroItems = $this->allegro->getCore()->doGetItemsList(0, 1, $filterOptions, 3, null);

$itemsCount = $allegroItems->itemsCount;
$perPage = 1000;
$maxPage = ceil(round($itemsCount, 0) / $perPage);

for ($i = 0; $i < $maxPage; $i++) {
$allegroItems = $this->allegro->getCore()->doGetItemsList($perPage * $i, $perPage, $filterOptions, 3, null)->itemsList->item;

if (!is_array($allegroItems)) {
$allegroItems = [$allegroItems];
}

foreach ($allegroItems as $item) {
$items[(string)$item->itemId] = $item;
}
}

return $items;
}

目前约有 3000 件商品。当我下载超过 2500-3000 个项目时出现错误(未计算确切数量)。我将 $perPage 设置为 1、100 或 1000 并不重要。它不依赖于执行时间 - 我可以设置 sleep(100) 并下载 1000 个产品,不会出现错误。就在该函数的最后一行之前,我可以毫无问题地调用任何数据库查询,但是当框架的内置函数尝试更新任务表时,我会收到错误。

错误似乎不依赖于任何东西...不是执行时间(时间约为 30 秒,并且在 sleep(100) 下工作正常),而不是内存限制(我可以取消设置每个循环的变量或将内存限制设置为 1GB,没有没有帮助),而不是 SOAP 功能的执行时间(逐一下载 2000 个项目效果很好,尽管需要几分钟)。对我来说最奇怪的是 - 数据库查询正在该函数内部工作,就在我所说的最后一行之前。

我没有使用清晰的 zend 框架,而是使用基于 zend 的“shoper”。

有什么想法吗?

最佳答案

问题出在 BLOB 数据上。增加 max_allowed_pa​​cket 解决了这个问题。但是我不知道 BLOB 中有什么以及我的函数如何影响它,因为我将它编写为完全独立的函数:-)

关于php - MySQL 服务器已经消失 - Zend,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45391793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com