Ho provato a installare magento, ma quando provo a installare magento dal browser, viene visualizzato " Errore di connessione al database " durante l'installazione di Magento.
Ho provato a installare magento, ma quando provo a installare magento dal browser, viene visualizzato " Errore di connessione al database " durante l'installazione di Magento.
Risposte:
Prima di tutto, controlla il nome utente e la password del database. Prima di procedere con questo passaggio, è necessario aver già impostato il database in MySQL. Devi creare un utente e concedere i privilegi di accesso a quell'utente.
Quindi controlla la configurazione del tuo server MySQL. Il numero di porta predefinito è 3306. Tuttavia, l'amministratore di sistema potrebbe modificarlo in qualcos'altro. Oppure, se si utilizzano pacchetti software come MAMP / WAMP, il numero di porta potrebbe essere impostato su un valore diverso da 3306. In questi casi, è necessario inserire esplicitamente il numero di porta nel campo Host.
Se tutti questi sono corretti e si riscontra ancora un errore di connessione al database, è possibile provare a utilizzare l'account root per accedere al database. Se root funziona, significa che ci sono problemi con i privilegi nelle impostazioni di MySQL. Sebbene non sia consigliabile utilizzare l'account root per la futura distribuzione della produzione in quanto aggiunge rischi per la sicurezza al server.
Questa è una domanda piuttosto vecchia, ma mi sono imbattuto di recente e spero che questa risposta aiuti qualcun altro. Il mio problema è arrivato a una vecchia versione di Magento in aggiunta a una nuova installazione di WAMP. Da MySQL 5.6.1, la variabile have_innodb è stata rimossa. Tuttavia, il programma di installazione di Magento verifica la presenza di quella variabile e genera un errore se non la trova. Se controlli effettivamente il registro delle eccezioni, vedrai un errore che il server di database non supporta InnoDB. Tuttavia nel gestore catch registra solo quell'eccezione e genera un messaggio generico "Errore di connessione al database".
La soluzione più semplice, se sei sicuro che il tuo DB supporti InnoDB, è semplicemente modificare app\code\core\Mage\Install\Model\Installer\Db.php
, trovare il checkDatabase
metodo e commentare la parte alla fine del blocco try che controlla have_innodb
. Normalmente, non consiglierei la modifica dei file core, ma questo serve solo a far funzionare l'installer, quindi direi che è abbastanza sicuro.
app/code/core/Mage/Install/Model/Installer/Db.php
checkDatabase($data)
funzioneAlla fine di questa funzione, c'è il seguente codice:
Mage::throwException(Mage::helper('install')->__('Database connection error.'));
Modificalo come segue:
Mage::throwException(Mage::helper('install')->__($e->getMessage()));
Vai al tuo browser, dove stai installando Magento, fai clic sul Continue
pulsante
Nel mio caso, ho ricevuto il seguente messaggio di errore:
Il server di database non supporta il motore di archiviazione InnoDB.
Quindi, per risolvere questo, ho commentato il controllo InnoDB nella stessa checkDatabase
funzione.
// check InnoDB support
/*if (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') {
Mage::throwException(Mage::helper('install')->__('Database server does not support the InnoDB storage engine.'));
}*/
Successivamente, sono stato in grado di installare Magento.
Puoi provare a utilizzare questo codice per trovare maggiori dettagli sul tipo di errore di connessione al database o per verificare se il nome utente e la password sono corretti
<?php
$mysqli=mysqli_connect("host","user","password","database name");
if(mysqli_connect_errno()){
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}else{
echo "Connection succesfull!";
}
?>
Salva questo script come file php e mettilo sul server. L'output sarà un errore di connessione, o se nessun errore l'output sarà "Connessione riuscita!". "host" - puoi inserire qui "localhost", "utente" - qui devi inserire il nome utente del database, "password" - qui devi inserire la password del database, "nome database" - qui devi inserire il nome del database.