2009-02-13 15 views
14

WAMP installato benissimo, nessun problema, ma ...wamp non può caricare l'estensione mysqli

Quando si va a phpMyAdmin, ottengo l'errore da phpMyAdmin come segue:

Cannot load mysqli extension. Please check your PHP configuration 

Inoltre, la documentazione phpMyAdmin spiega questo messaggio di errore come segue:

Per connettersi a un server MySQL, PHP ha bisogno di un set di funzioni MySQL chiamato "estensione MySQL". Questa estensione può essere parte della distribuzione PHP (compilata), altrimenti deve essere caricata dinamicamente . Il suo nome è probabilmente mysql.so o php_mysql.dll. phpMyAdmin ha provato a caricare l'estensione ma non è riuscito. Di solito, il problema viene risolto installando un pacchetto software chiamato "PHP-MySQL" o qualcosa di simile.

Infine, il file apache_error.log ha le seguenti avvertenze PHP (si veda l'avviso mySQL):

PHP Warning: Zend Optimizer does not support this version of PHP - please upgrade to the latest version of Zend Optimizer in Unknown on line 0 
PHP Warning: Zend Platform does not support this version of PHP - please upgrade to the latest version of Zend Platform in Unknown on line 0 
PHP Warning: Zend Debug Server does not support this version of PHP - please upgrade to the latest version of Zend Debug Server in Unknown on line 0 
PHP Warning: gd wrapper does not support this version of PHP - please upgrade to the latest version of gd wrapper in Unknown on line 0 
PHP Warning: java wrapper does not support this version of PHP - please upgrade to the latest version of java wrapper in Unknown on line 0 
PHP Warning: mysql wrapper does not support this version of PHP - please upgrade to the latest version of mysql wrapper in Unknown on line 0 

Così, per qualche motivo PHP non riconosce l'estensione mysql.

Qualcuno sa perché? Qualche soluzione o soluzione?

+0

Ho lo stesso identico problema. – WalterJ89

risposta

1

Ho avuto lo stesso problema. Ho installato il server WAMP. Tutto andava bene. Poi un giorno ho riavviato il mio computer e ha smesso di funzionare! Ho provato a cercare disperatamente tutti i post di aiuto e a farli, ma niente ha funzionato.

Quello che di solito suggeriscono di fare è, prima vai sul tuo file php.ini e assicurati che il tuo 'extension_dir' sia impostato correttamente. Poi, per assicurarsi che queste due linee non sono commentate (rimuovere il; Infront): extension = php_mysql.dll extension = php_mysqli.dll

Poi alcuni hanno suggerito che ho scaricato le copie fresche di questi due file ma nessuno ha funzionato. Ho anche provato a disinstallare tutto (php/mysql/apache) e ho reinstallato nuove copie del server WAMP diverse volte, ma senza fortuna.

Finalmente sono riuscito a trovare una soluzione alternativa. Sono passato a "easyphp" (http://www.easyphp.org/). Questo è qualcosa di molto simile a WAMP. Per prima cosa ho fatto i backup dei miei database sql in modo da poterli ricaricare sulla nuova installazione.

Quindi ho installato "easyphp" e tutto sembra funzionare correttamente. Ho ricaricato i miei database SQL dal mio backup e ora le cose sono tornate alla normalità.

Spero che qualcuno soffra di un problema simile. lo troverà utile Se qualcuno ha davvero trovato una soluzione per far funzionare il server WAMP. Pls sii abbastanza gentile da postarlo qui così tanti ne trarranno beneficio.

5

Innanzitutto, assicurarsi che il file php.ini stia caricando l'estensione mysqli.
Se si utilizza WAMPServer, fare clic sull'icona nella barra delle applicazioni, andare su PHP ->PHP Extensions e assicurarsi che sia selezionato. In caso contrario, andare nel file php.ini e assicurarsi che la riga: extension=php_mysqli.dll non commentata (ad esempio, rimuovere ; se esiste). Se quella linea non esiste, aggiungila.

Se ciò non funziona, ricontrollare che il file php.ini corretto sia in fase di caricamento.
Per fare ciò, visualizzare il proprio phpinfo() (Here per WAMPServer). Scorri verso il basso fino alla riga Loaded Configuration File e vedi quale php.ini viene caricato. Make sure it is the right file. If you're using WAMPServer, it should be (CARTELLA DI INSTALLAZIONE WAMP) \ bin \ apache \ Apache2.2.11 \ bin \ php.ini . By default, it is C: \ wamp \ bin \ apache \ Apache2.2.11 \ bin \ php.ini`.

Se viene caricato un file diverso php.ini, basta rinominarlo in qualcos'altro in modo che PHP possa cercare e trovare il file da qualche altra parte. Ci dovrebbe essere un modo per specificare che cosa vuoi usare, ma ho dimenticato esattamente come farlo ...

Se questo non funziona ancora ... Prova a fare casino con le impostazioni di phpMyAdmin, o usando un'altra risposta ma temo di non poter aiutare oltre.

19

ho eliminato il PHP in file di programma ad ogni cosa ha iniziato a lavorare, il problema che ci sono due installazioni di PHP

+3

Anche io. Puoi controllare su phpinfo() che php.ini è in fase di caricamento. – peterorum

+0

Questo era il mio caso. – stringo0

+0

Sì, ha funzionato così semplicemente. Doveva solo riavviare anche WAMP. – heroix

1

in WampServer andare a php.ini. apri il file e uncomment extension = msql.dll rimuovendo il punto e virgola (;) per il rispettivo sistema operativo.

0

Volevo solo su questo. Utilizzo di Wamp Server 2.0 e utilizzo di Zend Studio con debugger Zend per lo sviluppo.

Non ero ancora in grado (ancora tornerò ad esso ad un certo punto) per far funzionare il debugger di zend con php 5.3. Quindi in wamp ho caricato una versione precedente di php, 5.2.11. Stavo ricevendo lo stesso errore quando ho accettato php mio amministratore.

Quello che dovevo fare era cambiare il valore del file php.ini per "extension_dir" a c:/wamp/bin/php/php5.2.11/ext/ per abbinare la versione di php che stavo usando. Dopo ciò andò tutto bene.

1

anche impostare la password di mysql:

SET PASSWORD FOR [email protected]=PASSWORD('your_password'); 

E la password mysql phpmyadmin in config.inc.php:

$cfg['Servers'][$i]['password'] = 'your_password'; 
0

avuto lo stesso problema, con WAMP. Prova a scambiare la tua versione corrente di php.ini con un backup. Ce n'è uno in: wamp\bin\php\php5.3.0phpForApache.txt. Ha funzionato per me

1

Basta aggiungere nel tuo php.ini:

[PHP_MCRYPT] 
extension=php_mcrypt.dll 
[PHP_MYSQL] 
extension=php_mysql.dll 
[PHP_MYSQLI] 
extension=php_mysqli.dll 
4

ho provato molte soluzioni, e nessuno ha lavorato per me. Ho provato le seguenti soluzioni:

  • Restart WampServer
  • Reinstallare WampServer
  • macchina riavvio
  • e tutte le altre soluzioni di cui in questa domanda.

Tuttavia, nessuno di questi ha funzionato. Poi ho scoperto che il mio PHPMyAdmin non funzionava in chrome e stava lavorando in Firefox. Così ho provato a svuotare la cache, riavviare il browser, ecc, ma non funzionava.

Quindi ho cancellato tutti i file da C:\wamp\tmp e poi provato di nuovo, e funziona.Non sono sicuro del motivo per cui funziona, ma ecco quello che penso. La sessione è stata memorizzata nella cache e non viene cancellata. Quindi, non appena ho cancellato tutti i file in questa directory, tutte le sessioni sono state cancellate e quindi ha funzionato bene.

0

Ho avuto questo problema e ho trascorso 2 ore a provare tutte le soluzioni online, nessuna funzionava.

provato a farlo, ed è woked:

Change

mysql.default_host =

a

mysql.default_host = localhost

e riavviare WAMP. fai attenzione se stai usando mysqli o no.

0

Ho avuto lo stesso errore. Quando ho aumentato la dimensione della memoria dello script e attivato E_ALL, quindi ho riavviato il server, ho ricevuto quell'errore in phpmyadmin. Tutto quello che dovevo fare per rimediare è stato riavviare il mio computer!

0

Ho avuto questo problema per molto tempo.
Ho provato tutto quello che ho letto sui forum e questo ha finalmente funzionato per me:
Apri il tuo php.ini (presumo tu abbia quello buono che viene caricato ...) e trova questa riga mysqli.default_port = 3306
cambiamento per
mysqli.default_port = 80
riavviare tutti i servizi
Vai a localhost/phpmyadmin -> non funzionerà
riaprire il file php.ini e digitare nuovamente questa
mysqli.default_port = 3306
Restart tutti i servizi
Worke d per me.

0

Per me ha funzionato questo, dopo aver cercato tutti i registri/internet/tutte le cose non normali. Devi registrarti dl da:

Attraverso l'applicazione:

WAMP -> PHP settings -> enable dl 

o

# php.ini # 

; Whether or not to enable the dl() function. The dl() function does NOT work 
; properly in multithreaded servers, such as IIS or Zeus, and is automatically 
; disabled on them. 
; http://php.net/enable-dl 
enable_dl = On 
0

ho appena installato WampServer, e di fronte lo stesso problema. Ho trovato una soluzione, che funziona per me, è ridicolmente semplice.

  1. Disabilitare l'estensione PHP php_mysqli.
  2. Riavviare WampServer, visitare il locale phpmyadmin.
  3. Abilita php_mysqli indietro.
  4. Ripetere il punto 2.

Dopo pochi aggiornamenti di pagina, rimanenti piastre errori (circa MySQL e sqli) era andato.

0

Ho provato duramente dalla l'installazione di nuovo e di nuovo il WAMP, controllando il file php.ini, riavviando la macchina, sostituendo il file index.php,

ma nessuno funziona. poi vado al wamp/temp e cancellato tutti i file e ora funziona bene.

1

Stavo eseguendo WAMP con due versioni di PHP 1) 5.2.9 e 2) 5.2.13.

In base ai requisiti del sito, ho dovuto modificare la versione di PHP in 5.2.9 dalla 5.2.13. dopo aver scambiato la versione di PHP, l'errore era "l'estensione mysqli manca". dopo aver eseguito il debug per molto tempo ho capito che era dovuto al percorso errato "extension_dir" nel file php.ini.

Così ho cambiato il suo valore:

Vecchio: "extension_dir" c: /wamp/bin/php/php5.2.13/ext/

Nuovo: "extension_dir" c:/WAMP/bin/php/php5.2.9/ext/

Riavviato Tutti i servizi nel server di wamp, quindi è stato risolto.

Problemi correlati