> 백엔드 개발 > PHP 튜토리얼 > 聊好的fsockopen的非阻塞模式呢?为什么还是会阻塞

聊好的fsockopen的非阻塞模式呢?为什么还是会阻塞

WBOY
풀어 주다: 2016-06-13 11:52:19
원래의
1204명이 탐색했습니다.

说好的fsockopen的非阻塞模式呢?为什么还是会阻塞

function fsockopen_test(){<br />    $hostname = 'm.cn';<br />    $url = '/test/1.php';<br />    $fp = fsockopen($hostname, 80, $errno, $errstr, 5);<br />    if (!$fp) {<br />        echo "$errstr ($errno)";<br />        return false;<br />    }<br />    stream_set_blocking($fp,0);//开启了手册上说的非阻塞模式<br />    $header = "GET $url HTTP/1.1\r\n"; <br />    $header.="Host: $hostname\r\n";<br />    $header.="Connection: Close\r\n\r\n";//长连接关闭<br />    fwrite($fp, $header);<br />    fclose($fp);<br />}<br />fsockopen_test();
로그인 후 복사

请求的/test/1.php里面的代码:
sleep(6);<br />$fp  =  fopen ( './data.txt' ,  'w' );<br />fwrite ( $fp ,111);<br />fclose ( $fp );
로그인 후 복사
通过浏览器控制台查看实际还是会等test/1.php执行完毕,这边才刷新。这是为什么呢?
------解决方案--------------------
没问题呀
echo date('Y-m-d H:i:s'), PHP_EOL;<br />fsockopen_test();<br />echo date('Y-m-d H:i:s'), PHP_EOL;<br />
로그인 후 복사
可以看到没有延时

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿