2015-03-09 13 views
6

Ho seguito il installation guide per PHP PhantomJS. Quando si esegue uno script di test utilizzando PhantomJS PHP, sto ottenendo l'errore:PHP PhantomJS non caricamento in classe tramite Composer

PHP Fatal error: Class 'JonnyW\PhantomJs\Client' not found in ...

Non ho usato Compositore prima, quindi forse si affaccia qualcosa. Sto eseguendo questo da MAMP, quindi potrebbero esserci alcune specifiche da fare che non sono menzionate nella documentazione. Se apro lo script di test in un browser ottengo una schermata vuota. È solo dall'esecuzione del php da Terminal che ottengo lo Fatal error.

La linea dello script non riesce su è:

$client = Client::getInstance(); 

pertanto presumere che non si carica correttamente da Composer. Posso verificare che in /bin sono entrambi phantomjs e phantomloader.

Quali passi devo fare per ottenere lo script PHP PhantomJS caricato correttamente?

--update--

test.php (presa direttamente da PHP PhantomJS esempio)

use JonnyW\PhantomJs\Client; 

$client = Client::getInstance(); 

$request = $client->getMessageFactory()->createRequest(); 
$response = $client->getMessageFactory()->createResponse(); 

$request->setMethod('GET'); 
$request->setUrl('http://google.com'); 

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

if($response->getStatus() === 200) { 
    echo $response->getContent(); 
} 
+0

quale script di test intendi? sei sicuro che lo script di autoload del compositore sia caricato in questo script di test? – ivoba

+0

Hai aggiornato la domanda. Supponevo che il comando "use" gestisse l'autoloading, o sbaglio? – Fisu

risposta

10

Si dovrà includere il caricatore automatico compositore nello script se non utilizzare uno voi stessi .

require 'vendor/autoload.php'; 

Questo è uno script autogenerato autogenerato del compositore. Vedi qui https://getcomposer.org/doc/01-basic-usage.md#autoloading

temo Usa dichiarazione non si prenderà cura del caricamento automatico, sarà solo di definire lo spazio dei nomi per cercare in per la classe diclient.

+0

Ma nel mio caso non funziona nessun modulo di output sopra lo script. –

Problemi correlati