PHP socket_read()告警訊息unable to read from socket [10060]

小編平常都是在Linux/FreeBSD下使用PHP,但難免還是有些情境需求要在Windows 下跑PHP,最近做了一個有關socket的案子,每當進行socket_read()時就會出現
「 unable to read from socket [10060] 」的告警訊息,但一樣的程式碼在Linux平台上運作是不會有問題的,雖然不影響運作結果,但難免會給使用者有異常的感覺。

後來小邊爬文好幾天文章,試過各種方法,終於找到一個比較好的解決方式,步驟如下:

一、在PHP程式裡宣告警告等級,忽略waring告警。
在程式裡插入一行「ini_set(“error_reporting”,”E_ALL & ~E_NOTICE”);」

二、變更socket_read()的寫法
將socket_read()的寫法變更為「socket_read($socket,1024,PHP_BINARY_READ);」

透過以上的設定,小編就順利交差摟,希望這篇文章可以幫助到跟小編一樣苦惱的夥伴們。