2011-12-11 12 views
21

Sto provando a eseguire la mia prima applicazione Facebook php sul mio server Apache. Segnala errore Facebook needs the CURL PHP extension.. Ho aggiunto la riga extension=php_curl.dll in php.ini e funziona normalmente in ide phpStorm. Ma continua a generare errori nel browser Web quando inserisco i file php nella directory apache ed eseguo il server manualmente.Facebook ha bisogno dell'estensione PHP CURL

+2

È necessario installare l'estensione e abilitare in php.ini. Inoltre, riavvia il tuo server web dopo averlo fatto entrambi. – janoliver

+0

Funziona bene quando eseguo php con phpStorm ide. Ho riavviato il server. –

+0

Hai appena decommentato la riga in php.ini senza verificare se l'estensione è effettivamente disponibile ad esempio: 'percorso/a/tuo/www/php/ext/php_curl.dll', anche se stai usando un ide che l'ide potrebbe usare le sue estensioni come 'path/to/your/ide/php/ext/php_curl.dll' e potrebbero anche non utilizzare lo stesso file php.ini. –

risposta

14

in un nuovo tipo di pagina PHP:

<?php 
phpinfo(); 
?> 

in là verificare che php.ini è necessario modificare.

Loaded Configuration File: ________ path to ini file you must edit _______ 

Inoltre, utilizzare questa pagina per vedere se il server pensa che l'arricciatura sia abilitata. vede questa riga:

cURL support enabled 

se non è abilitata dopo la modifica del file ini e il riavvio del server web, le cose dipendono da come è stato installato php

questo guide sembra abbastanza promettente

+1

Se sei su Wamp 64bit e ricevi questo errore, l'estensione pacchettizzata è in realtà spiati. http://www.morningtime.com/kb/188. Questo ha un php_curl.dll fisso – styks

+0

@Kelvin sembra che il collegamento sia cambiato un po '.Potresti fornire un'altra soluzione per il wamp a 64 bit, per favore? Sarei davvero grato, ho lottato molto con questo –

+1

@BujancaMihai - Vedo che l'altro sito è cambiato. Potresti riuscire a ottenere l'estensione fissa qui. Scorri verso il basso e cerca estensioni arricciate fisse. http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/ Ho trovato questo link in questo post del forum. http://forum.wampserver.com/read.php?2,85716 Potresti anche essere in grado di utilizzare la versione a 32 bit in base a come tutto è configurato. Spero che questo funzioni per te. Non ho provato questo. – styks

5

errore :

Uncaught exception 'Exception' with message 'Facebook needs the CURL PHP extension

Soluzione:

;extension=php_curl.dll

1) Rimuovere ; (commento dall'inizio) nel file php.ini e salvare. Se questa linea non è nel file di aggiungere questo file.

2) Restart appache (XAMPP)

18

mi è stato anche sempre l'errore. Ho provato questo comando.

sudo apt-get install curl libcurl3 libcurl3-dev php5-curl 

e il mio problema è stato risolto.

+1

Fatto questo e riavviato il server ('service apache2 restart'). Ha funzionato come un fascino! –

3

ha solo bisogno di togliere il commento extension = php_curl.dll da c: \ xampp \ php \ php.ini

+0

Questa è una risposta incompleta e un'ipotesi su cosa c'era di sbagliato. Non presenta nulla di nuovo, poiché uno dei commenti sulla domanda originale ha anche indirizzato l'OP a controllare il loro file 'php.ini'. –

+1

@Grant Winney: Sto provando a programmare qualcosa con l'SDK PHP di Facebook. Ho seguito la loro documentazione, e il loro esempio non ha funzionato e ho gettato il messaggio di errore che è il titolo di questa domanda. Ho fatto quello che Yannick ha pubblicato sopra e questo ha risolto il problema. La persona che ha aggiunto commenti alla domanda originale è stata stupida per non averla postata come risposta. –

+0

Grazie per aver pubblicato Andrew. Buono a sapersi La risposta di Yannick ha funzionato, ma è la stessa risposta che mona rajput ha fornito l'anno scorso. –

0

Facebook API ha bisogno l'estensione PHP curl. Tutto quello che devi fare è cambiare le impostazioni nel file php.ini.

Cerca il file per "extension = php_curl". Decommenta quella linea rimuovendo il punto e virgola. Questo dovrebbe funzionare!

0

Aprire il file phpini e rimuovere il commento dall'estensione di arricciatura di seguito. Quindi riavvia il server Wamp. Questo funziona correttamente.

;extension=php_curl.dll 
1

ho avuto stesso problema con Ubuntu 16.04 5.6 (LEMP) Configurazione LTS e PHP. Questo è stato risolto dai seguenti comandi.

$ sudo apt-get install ricciolo libcurl3 libcurl3-dev php5.6-curl

verificare il file nella directory Curl.so estensione $ php -i | grep extension_dir (Questo percorso vi darà per PHP estensione dir)

verificare il file curl.in

$ sudo vi /etc/php/5.6/mods-available/curl.ini

Dovrebbe essere

*; configurazione per modulo php curl

; priority = 20

extension = curl.so *

Verificare l'Curl abilitato php

$ php -i | grep curl

uscita dovrebbe essere;

supporto cURL => Abilita

cURL Informazioni => 7.35.0

Età => 3

Caratteristiche

AsynchDNS => Sì

CharConv => Nessun

Debug => Nessun

GSS-Negoziare => Sì

IDN => Sì

IPv6 => Sì

krb4 => Nessun

Largefile => Sì

libz => Sì

NTLM => Sì

NTLMWB => Sì

SPNEGO => No

SSL => Sì

SSPI => Nessun

TLS-SRP => Sì

Protocolli => dict, file FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, imaps, LDAP, LDAPS, pop3, POP3S, RTMP, RTSP, smtp, SMTPS, telnet, tftp

Host => x86_64-pc-linux-gnu

SSL Version => OpenSSL/1.0.1f

ZLib Version => 1.2.8

Riavviare il php5.6-fpm

$ sudo servizio php5.6-fpm riavvio

Riavviare il Nginx

nginx servizio $ sudo restart

Questa volontà lavoro :)