2016-09-01 22 views
10

Gdy próbuję zapisać plik lokalnie, obiekt odpowiedzi jest zwracany jako null. Strona, którą próbuję przechwycić, zajmuje dużo czasu ładowania, do którego potrzebuję wywołania zwrotnego, aby powiadomić mnie, gdy wszystkie zasoby strony są całkowicie załadowane. Czy moje podejście jest prawidłowe?PHANTOMJS PHP: Pusty obiekt odpowiedzi

Gdy nie próbuje się zapisać pliku lokalnie, zwracany obiekt odpowiedzi nie ma wartości null.

Oto mój kod:

$client = Client::getInstance(); 
$client->getEngine()->setPath('path/to/phantomjs'); 
    $client->isLazy(); 

    $request = $client->getMessageFactory()->createPdfRequest('http://google.com'); 
    $response = $client->getMessageFactory()->createResponse(); 

    $file = 'path/binfile.pdf'; 

    $request->setOutputFile($file); 

    $client->send($request, $response); 

Jak mogę osiągnąć i wiedzieć, kiedy wszystkie zasoby strony są całkowicie załadowane?

Odpowiedz

0

Mam do czynienia z tym samym problemem. Używałem jonnyw/php-phantomjs w laravel.

Funkcja setTimeout użytkownika. mi to pasuje. Spróbuj tego.

$request->setOutputFile($file); 
$request->setTimeout(10000); 

Mam nadzieję, że to pomaga.