同じ問題に遭遇しましたが、YouTube ビデオのアップロードで発生しました。Zend ファイルを調べてみると、スクリプトが死んでいる場所が見つかりました。それはであるZend/Gdata/HttpAdapterStreamingSocket.php
:
while ($chunk !== FALSE) {
if (! @fwrite($this->socket, $chunk)) {
require_once 'Zend/Http/Client/Adapter/Exception.php';
throw new Zend_Http_Client_Adapter_Exception(
'Error writing request to server');
}
$chunk = $body->read(self::CHUNK_SIZE);
}
@
からを削除するfwrite
と、最大実行時間の超過エラーが発生しました。ループの実行時間制限を無効にすることで、エラーは再び発生しなくなりました。
$executionTime = ini_get('max_execution_time');
set_time_limit(0);
while ($chunk !== FALSE) {
if (! fwrite($this->socket, $chunk)) {
require_once 'Zend/Http/Client/Adapter/Exception.php';
throw new Zend_Http_Client_Adapter_Exception(
'Error writing request to server');
}
$chunk = $body->read(self::CHUNK_SIZE);
}
set_time_limit($executionTime);
これは正確な問題ではないかもしれませんが、@fwrite 呼び出しの Zend ファイルを調べて、同じことを行ってみてください。これは、ソケットにチャンクを書き込んでいる間、およびエラーを抑制する関数でスクリプトが停止している可能性があるためです。