最近在執行fread時候,php出現了 "Fatal error: Maximum execution time of 30 seconds "
fread() :從文件指針 handle
讀取最多 length
個字節。
handle:
文件系統指針,是典型地由 fopen() 創建的 resource (資源)。
length:
最多讀取 length
個字節。
fread 一個遠端文件的時候出現了超時,表示很頭疼,但是最後用stream_set_timeout 暫時掛起了
下面是我的代碼
stream_set_timeout($fp, 2); // 2秒後為超時 $_data = fread($fp, $this->maxlength); $info = stream_get_meta_data($fp); fclose($fp); if ($info['timed_out']) { print_r($info); die(); } else { print_r($_data); }
其中 $info 的信息如下:
Array ( [stream_type] => tcp_socket/ssl [mode] => r+ [unread_bytes] => 0 [seekable] => [timed_out] => 1 [blocked] => 1 [eof] => ) // timed_out = 1 為超時
ps: fread($fp,50000) 請求其他機子都是正常的(同樣的配置),唯獨我的機子出現了這個問題,表示很尴尬!~ 會不斷的尋找解決方案,不過如果有哪個大俠能有什麼好的點子,跪求~