/ / Come ottenere mysqli lavorando con php7 - mysql, mysqli, php-7, mysqlnd

Come ottenere mysqli lavorando con php7 - mysql, mysqli, php-7, mysqlnd

È passato un po 'di tempo da quando ho fatto il web design,così mi sono liberato di apache, php e mysql sul mio computer Windows 10. Ho deciso di voler lavorare su un sito web adesso e ho un vecchio apache, php e mysql salvato sui miei download, ma volevo aggiornare tutto, quindi ho l'ultima versione di Apache (Apache 2.4), ultima versione di PHP (Php7) e ultima versione di mysql (non sono sicuro della versione ma ho la versione 6.3 di WorkBench) .Prima di quando ho controllato se il mio php funzionava con questa riga di codice <?php phpinfo(); ?> Mostrerebbe che ho mysql / mysqli installato e pronto ad andare. Ma con php7 mostra mysqlnd. Provo a utilizzare i comandi mysqli per verificare se riesco a connettermi al mio database mysqli_ping() e ho anche provato a connettermi al database usandoserver, utente, pass. Continuo a ricevere errori come Class mysqli non trovato. Oppure chiama la funzione non definita mysqli_ping (). Ho provato a cercare in rete alcune risposte e tutto quello che ho potuto trovare è che ho bisogno di installare mysql (ma alcuni siti dicono che è stato deprecato). Posso ottenere mysqli per php7? O posso usare mysqlnd? mysqlnd? È una nuova versione di mysql / mysqli? Ho provato a cercarlo su google e non ho visto alcun tutorial su come usarlo. Qualcuno può aiutarmi qui?

risposte:

0 per risposta № 1

L'estensione mysqlnd è parte di PHP. È stato sviluppato come alternativa al bundle di libmysqlclient, perché quella libreria aveva condizioni di licenza che lo rendevano scomodo da includere in bundle con PHP.

Non si usa direttamente mysqlnd, si tratta di una libreria interna che viene utilizzata da mysqli e pdo_mysql come mezzo per comunicare con il server MySQL.

Per quanto riguarda mysqli, sì, è disponibile per PHP 7. Non uso Windows, ma apparentemente non tutte le estensioni sono abilitate di default.

Probabilmente hai bisogno di modificare il tuo php.ini e togliere il commento dalla linea

extension=ext_mysqli.dll

o qualunque cosa sia per quell'estensione. Potrebbe già essere nel file, ma commentato. Quindi vai a dare un'occhiata e vedere.


0 per risposta № 2

Controlla se la variabile ambientale del tuo percorso di sistema include la directory di installazione di PHP. Per me ha funzionato con PHP 7.1 / Apache 2.4 / Windows Server 2016.


0 per risposta № 3

Per funzionare correttamente con apache e caricare tutte le estensioni necessarie (incluso php_mysqli) di cui hai bisogno ThreadSafe versione di PHP, quindi assicurati di scarica la versione corretta o se usi cioccolatoso per gestire le tue applicazioni Windows, quindi installa semplicemente php con questo comando:

choco install php --params ""/ThreadSafe ""

Questo installerà php in C: toolsphp72 directory, ma puoi sovrascriverlo con un altro parametro:

choco install php --params ""/ThreadSafe ""/InstallDir:C:php""