Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql_connect() :aucun fichier ou répertoire de ce type

Oui vous ne pouvez pas vous connecter comme ça !

@PLB et @jammypeach mysqli est après la v4.1, il utilise la v3 :) Les gars lisez les spécifications, si vous voulez vraiment aider !

Vous ne pouvez pas vous connecter, car votre fichier socket est un peu erroné. Je me souviens maintenant que l'ancien RH avait ce problème auparavant. Votre socket est probablement comme /var/mysql/mysql.sock ou /tmp/mysql.sock mais une ou plusieurs applications recherchent l'autre.

Si le vôtre est /tmp/mysql.sock mais pas /var/mysql/mysql.sock vous devriez :

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

Si vous avez /var/mysql/mysql.sock mais pas de /tmp/mysql.sock alors :

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

Vous aurez besoin d'autorisations pour effectuer les modifications. Juste sudo, si nécessaire avant les commandes ci-dessus !

UNE AUTRE SOLUTION (plus simple) :

Créez un fichier et appelez phpinfo(); Recherchez 'mysql.default_socket' ; ou 'pdo_mysql.default_socket' ; Ouvrez My.ini ou My.cnf pour trouver la valeur du socket, par ex. socket=/tmp/mysql.sockOuvrez votre fichier php.ini (qui se trouve également sur votre page phpinfo() en tant que "Fichier de configuration chargé") et remplacez toutes les occurrences de l'emplacement de socket incorrect par l'emplacement de socket correct de MySQL.

UNE AUTRE SOLUTION (la plus simple) :DSN pour AOP :

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

mysql_connect :

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

Votre système est vraiment effrayant en matière de sécurité, si vous hébergez des données sensibles, je passerais aux dernières versions.

---- MISE À JOUR ----

Aaahhhh PHP 5.0 et MySQL 3.23 :)

PHP 5 contient un client mysql qui ne peut pas se connecter à une base de données MySQL antérieure à la version 4.1. À partir de la version 4.1, MySQL utilise une nouvelle méthode de hachage de mot de passe qui n'est pas compatible avec les bases de données antérieures à la version 4.1. Le serveur auquel votre configuration se connecte est la version 3.23. Vous devez donc vous procurer une version supérieure de MySQL. Désolé, mais il n'y a pas d'autre solution pratique pour votre cas. Si j'étais vous, je mettrais à jour l'ensemble du système et j'installerais la version la plus récente du système d'exploitation. Si nécessaire, j'opterais pour Debian et les versions stables les plus récentes de PHP et MySQL.