最近在執行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) 請求其他機子都是正常的(同樣的配置),唯獨我的機子出現了這個問題,表示很尴尬!~ 會不斷的尋找解決方案,不過如果有哪個大俠能有什麼好的點子,跪求~