Mysql
 sql >> Database >  >> RDS >> Mysql

mysql_connect():nessun file o directory di questo tipo

Sì, non puoi connetterti così!

@PLB e @jammypeach mysqli è dopo la v4.1, sta usando la v3 :) Ragazzi leggete le specifiche, se volete davvero aiutare!

Non puoi connetterti, perché il tuo file socket è un po' sbagliato. Ricordo ora che il vecchio RH aveva questo problema prima. Il tuo socket è probabilmente /var/mysql/mysql.sock o /tmp/mysql.sock ma una o più app stanno cercando l'altra.

Se il tuo è /tmp/mysql.sock ma non /var/mysql/mysql.sock dovresti:

cd /var 
mkdir mysql
cd mysql
ln -s /tmp/mysql.sock mysql.sock

Se hai /var/mysql/mysql.sock ma non /tmp/mysql.sock allora:

cd /tmp
ln -s /var/mysql/mysql.sock mysql.sock

Avrai bisogno delle autorizzazioni per apportare le modifiche. Basta sudo, se necessario prima dei comandi sopra!

UN'ALTRA SOLUZIONE (più semplice):

Crea file e chiama phpinfo(); Cerca 'mysql.default_socket'; o 'pdo_mysql.default_socket';Apri My.ini o My.cnf trova il valore del socket, ad es. socket=/tmp/mysql.sockApri il tuo file php.ini (che si trova anche nella tua pagina phpinfo() come 'File di configurazione caricato') e cambia tutte le occorrenze della posizione del socket errata nella posizione del socket corretta da MySQL.

UN'ALTRA SOLUZIONE (più semplice):DSN per DOP:

mysql:unix_socket=/tmp/mysql.sock;dbname=...

mysql_connect:

$db = mysql_connect('localhost:/tmp/mysql.sock', ...

Il tuo sistema fa davvero paura quando si tratta di sicurezza, se stai ospitando dati sensibili, farei l'upgrade alle ultime versioni.

---- AGGIORNAMENTO ----

Aaahhhh PHP 5.0 e MySQL 3.23 :)

PHP 5 ha un client mysql in pacchetto che non può connettersi a un database MySQL inferiore alla versione 4.1. A partire dalla versione 4.1, MySQL utilizza un nuovo modo di hashing delle password che non è compatibile con i database precedenti alla 4.1. Il server a cui si sta connettendo la configurazione è la versione 3.23. Quindi devi procurarti una versione superiore di MySQL. Siamo spiacenti, ma non esiste un'altra soluzione pratica per il tuo caso. Se fossi in te, aggiornerei l'intero sistema e installerei la versione più recente del sistema operativo, se dovessi sceglierei Debian e le versioni stabili più recenti di PHP e MySQL.