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