Oggi ho rimosso e reinstallato l'ultima versione di lampp per passare a php 5.30 e improvvisamente un'applicazione molto semplice non riesce a connettersi al database mysql. Sto usando DOP per la connessione, e ricevendo il seguente errore:Errore durante la creazione della connessione a PDO in PHP
Warning: PDO::__construct() [pdo.--construct]: [2002] Invalid argument (trying to connect
via unix://) in /home/raistlin/www/todoapp/home.php on line 9
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002]
Invalid argument' in /home/raistlin/www/todoapp/home.php:9 Stack trace: #0
/home/raistlin/www/todoapp/home.php(9): PDO->__construct('mysql:host=loca...', 'USER',
'PASSWORD') #1 {main} thrown in /home/raistlin/www/todoapp/home.php on line 9
non sto prendendo piede l'errore in questo momento, per il bene di debug.
Il seguente codice è sufficiente per replicare il problema sul mio sistema:
<?php
$DBACCESS = array(
"connstring"=>"mysql:host=localhost;dbname=todoapp",
"host"=>"localhost",
"user"=>"user",
"password"=>"password",
"todoapp"=>"todoapp"
);
echo implode('<br \>',$DBACCESS);
$dbh = new PDO($DBACCESS['connstring'],$DBACCESS['user'],$DBACCESS['password']);
$dbh = null;
?>
ricerca online, ho trovato una o due altre persone con lo stesso problema, ma nessuno di loro ha ricevuto una risposta, molto meno uno funzionante. Qualcuno sa cosa sta succedendo? C'è qualcosa che mi è mancato nella configurazione? Cosa devo fare per risolverlo?
Non sono sicuro del motivo per cui MySQL a volte prende "localhost" per significare "Uso una presa Unix" – TML
Perfetto. Il problema è stato risolto con l'opzione 2, sebbene con l'installazione di xampp lampp, avevo bisogno di usare /opt/lampp/var/mysql/mysql.sock. – krdluzni
Sicuro. Sono contento che tu sia riuscito a trovare la presa - ho appena lanciato un esempio e pregato che tu lo trovassi. :) – TML