file_get_contents зависает, но я установил параметр времени ожидания

Я нашел странную проблему. это мой код проблемы php.

static function sendImgMsg($openid, $mediaid, $access)
{
$csSelf= <<<EOF
{
"touser":"$openid",
"msgtype":"image",
"image":
{
"media_id":"$mediaid"}
EOF;
$ret = Util::postRaw('https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=' . $access, $csSelf);
return json_decode($ret, true);
}

static function postRaw($url, $data)
{
$opts = array (
'http' => array (
'method' => 'POST',
'header'=> "Content-type: application/x-www-form-urlencoded\r\n" .
"Content-Length: " . strlen($data) . "\r\n",
'content' => $data,
'timeout' => 60
)
);

$context = stream_context_create($opts);
return file_get_contents($url, false, $context);
}

Я вызываю функцию sendImgMsg для отправки данных поста на конкретный сервер. Иногда звонить будет зависать. Наконец я обнаружил, что он висит в файле file_get_contents api. Я покажу свою картинку о файле file_get_contents.
введите описание изображения здесь

Он висит в системном вызове read. но FD не является блоком. Зачем? Любые предложения приветствуются.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]