2016-09-01 14 views
10

जब मैं स्थानीय रूप से फ़ाइल को सहेजने का प्रयास करता हूं, तो प्रतिक्रिया ऑब्जेक्ट शून्य हो जाता है। पृष्ठ जिसे मैं कैप्चर करने की कोशिश कर रहा हूं, बहुत सारे लोडिंग समय लेता है जिसके लिए मुझे कॉलबैक की आवश्यकता होती है जब सभी मुझे सूचित करते हैं पेज संसाधन पूरी तरह से लोड हो रहे हैं। क्या मेरा दृष्टिकोण सही है?PHANTOMJS PHP: खाली प्रतिक्रिया ऑब्जेक्ट

स्थानीय रूप से फ़ाइल को सहेजने की कोशिश नहीं करते समय प्रतिक्रिया ऑब्जेक्ट वापस शून्य नहीं है।

यहाँ मेरी कोड है:

$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); 

मैं कैसे प्राप्त करने और पता है जब सभी पेज संसाधन पूरी तरह से लोड कर रहे हैं?

उत्तर

0

मुझे एक ही समस्या का सामना करना पड़ रहा है। मैंने लार्वेल में jonnyw/php-phantomjs का उपयोग किया है।

उपयोगकर्ता सेटटाइमआउट फ़ंक्शन। इससे मेरा काम बनता है। इसे इस्तेमाल करे।

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

उम्मीद है कि यह मदद करता है।

2

मेरे लिए समाधान अपने पैकेज मैनेजर से phantomjs स्थापित करने के लिए था (sudo apt-get phantomjs स्थापित) और phantomjs द्विआधारी संगीतकार द्वारा डाउनलोड करने के लिए की तुलना में यह करने के लिए इंजन का उल्लेख है, बल्कि ।

$ यह-> क्लाइंट-> getEngine() -> setPath ('/ usr/bin/phantomjs');

के लिए और अधिक जानकारी के इस सूत्र का संदर्भ लें: https://github.com/jonnnnyw/php-phantomjs/issues/86

या यहाँ तक कि इस सूत्र: https://github.com/jonnnnyw/php-phantomjs/issues/57

संबंधित मुद्दे