我需要帮助来了解在此循环中哪里出错了。
当我检查webhook.log文件时,看到以下内容
0123405162734051627340516273405162734560712345670123456701234567012345670
哪些变量“ i”的值显然在上面,而for循环没有结束,我不明白为什么。
for ($i=0; $i < count($chats); $i++)
{
$data = [
chatId => $chats[$i],
body => $base64img,
filename => $nombreimg[1],
caption => $arr["message"]["caption"]
];
$json = json_encode($data);
$url = 'https://XXXX.chat-api.com/instanceXXXX/sendfile?token=XXXXXXXXXXXXX';
$options = stream_context_create(['http' => [
'method' => 'POST',
'header' => 'Content-type: application/json',
'content' => $json
]
]);
$result = file_get_contents($url, false, $options);
file_put_contents("webhook.log", $i, FILE_APPEND);
sleep(15);
}
预先感谢
答案 0 :(得分:0)
我认为您需要它来检查$ chats数组的内容,验证$ chats是否具有Assign元素。
if(sizeof($chats) > 0){
loop...
}
答案 1 :(得分:0)
如果我们假设您的PHP脚本仅包含此代码,则: 您的日志文件内容表明脚本有多个实例同时使用该文件。与无限循环相比,这种内容的解释更为合理。
示例: 用户一个在浏览器中运行脚本,因此循环启动并在每次迭代中将数据添加到文件中。但是不幸的是,每次迭代都让脚本休眠了一段时间,因此另一个实例也开始或继续将数据附加到同一文件中。这解释了您的日志文件中的混乱情况。更多的是您同时运行同一脚本的不同实例,更多的内容熵将变得更糟。
但是,如果您的脚本包含更多您不发布的代码,则内容表明您在嵌套循环中误用了$ i变量,这可能导致无限循环并导致日志文件中的这种熵级别...