現在你給我關到谷歌,我已經花了大量的時間在這個問題上...之前PHP stream_copy_to_stream()/ fwrite()將「資源暫時不可用」
這裏的情景:
客戶:SMTP服務器帶1MB附件發送電子郵件
中間人:PHP代理腳本(https://codereview.stackexchange.com/questions/134880/simple-tcp-proxy)
目的地:PHP腳本接受和處理SMTP連接/命令
發生什麼事是,客戶端發送SMTP數據直到目標接受的「DATA」命令沒有任何錯誤代理。在 「DATA」 的命令,當客戶端傳送郵件數據,這happpens:
PHP Notice: stream_copy_to_stream(): send of 8192 bytes failed with errno=11 Resource temporarily unavailable in /root/proxy.php on line 59
(這發生在代理的腳本)
線59在上面的通知下文稱到:
stream_copy_to_stream($client, $dest)
(與$client
指客戶端SMTP服務器和$dest
參照目標PHP腳本)
我認爲這是關於客戶端試圖將數據寫入到目的地作爲目的地Ination正在忙碌,但它可能忙於什麼?當客戶端嘗試寫入數據時,目標是否仍然從代理的流中讀取數據?會導致這個錯誤?究竟發生了什麼?
如果除了上面的代理代碼之外還需要其他代碼,請讓我知道,我會更新這篇文章。