2012-04-30 5 views
0

Это код:Youtube Zend Api Функция Прерывает Script

... 
require_once 'Zend/Loader.php'; // the Zend dir must be in your include_path 
Zend_Loader::loadClass('Zend_Gdata_YouTube'); 
Zend_Loader::loadClass('Zend_Uri_Http'); 
$yt = new Zend_Gdata_YouTube(); 
$videoEntry = $yt->getVideoEntry($id_video); 
.... 

В нескольких строках этого скрипта, ИНОГДА (я не понимаю, почему это держать происходит только несколько раз, а не в других, казалось бы, случайных) Zend_Gdata_YouTube() или getVideoEntry ($ id_video) не возвращается, и скрипт умирает. В папке скрипта нет файлов журналов, поэтому я не понимаю, что это происходит во время выполнения. Любая помощь или предложение будут оценены, спасибо.

ответ

2

Я столкнулся с той же проблемой, но с загрузкой видео 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); 

Это не может быть ваша точная проблема, но попробуйте посмотреть в файлах Zend для @fwrite вызовов и сделать то же самое потому что ваш скрипт, вероятно, умирает во время записи фрагментов в сокет и функции, которая подавляет ошибки.

+0

Это не решит проблему. Это связано с загрузкой действительно огромных файлов. Я вижу эту ошибку при загрузке 3GB +, так или иначе, чтобы ее решить? – Osa

Смежные вопросы