PHP使用fsockopen接收回傳網頁等待過久問題排除
2012年5月14日
尚無評論
手上有個案子~是使用PHP的fsockopen去呼叫別人的service,但很怪的是測試程式很快可以完成
但真正加到作業程式去跑時,總是卡住而出現PHP執行過久,顯示Time Out訊息.
如用ini_set(‘max_execution_time’,’0′); 不限執行時間,但就會一直停在那裡
去查了一下,發現網路上也有人有遇到等待過久的問題
有人提及要在請求上結尾加上Connection: close能排除這問題
但程式也有加上呀~但很怪的事發生了 Connection: close後面的\r\n似乎別人都是加二個
但程式之中只加了一個,就試著再多加一組,神奇的事發生了~程式過了
不再卡卡了,這怪問題總算有解~@@
為啥需要\r\n呢?
fgets會獲取文件描述符$fp的當前的n個bytes,如果還沒有到n個bytes遇到換行符號了,則只返回換行符及換行符之前的內容。
(記下來留記念一下~^^||)
參考連結:
- http://yubosun.akcms.com/tech/php-fsockopen-slow.htm
- http://www.phpman.com.cn/archives/208
- http://www.vicenteforever.com/2012/05/php-fsockopen/
近期留言