Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql_connect():Keine solche Datei oder Verzeichnis

Ja, so kann man sich nicht verbinden!

@PLB und @jammypeach mysqli ist nach v4.1, er benutzt v3 :) Leute, lest die Spezifikationen, wenn ihr wirklich helfen wollt!

Sie können keine Verbindung herstellen, weil Ihre Socket-Datei etwas falsch ist. Ich erinnere mich jetzt, dass das alte RH dieses Problem schon einmal hatte. Ihr Socket ist wahrscheinlich /var/mysql/mysql.sock oder /tmp/mysql.sock, aber eine oder mehrere Apps suchen nach der anderen.

Wenn Ihre /tmp/mysql.sock, aber keine /var/mysql/mysql.sock ist, sollten Sie:

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

Wenn Sie /var/mysql/mysql.sock aber kein /tmp/mysql.sock haben, dann:

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

Sie benötigen Berechtigungen, um die Änderungen vorzunehmen. Einfach sudo, falls erforderlich, vor den obigen Befehlen!

EINE ANDERE LÖSUNG (einfacher):

Datei erstellen und phpinfo(); aufrufen; Suchen Sie nach „mysql.default_socket“; oder 'pdo_mysql.default_socket';Öffnen Sie My.ini oder My.cnf finden Sie den Socket-Wert, z. socket=/tmp/mysql.sockÖffnen Sie Ihre php.ini-Datei (die auch auf Ihrer phpinfo()-Seite als „Loaded Configuration File“ zu finden ist) und ändern Sie alle Vorkommen des falschen Socket-Speicherorts in den richtigen Socket-Speicherort von MySQL.

EINE ANDERE LÖSUNG (am einfachsten):DSN für PDO:

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

mysql_connect:

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

Ihr System ist wirklich beängstigend, wenn es um Sicherheit geht. Wenn Sie vertrauliche Daten hosten, würde ich auf die neuesten Versionen aktualisieren.

---- AKTUALISIEREN ----

Aaahhhh PHP 5.0 und MySQL 3.23 :)

PHP 5 enthält einen MySQL-Client, der sich nicht mit einer MySQL-Datenbank unter Version 4.1 verbinden kann. Ab Version 4.1 verwendet MySQL eine neue Methode des Passwort-Hashing, die nicht mit Datenbanken vor Version 4.1 kompatibel ist. Der Server, mit dem Ihre Konfiguration eine Verbindung herstellt, ist Version 3.23. Sie müssen sich also eine höhere Version von MySQL besorgen. Entschuldigung, aber es gibt keine andere praktische Lösung für Ihren Fall. Wenn ich Sie wäre, würde ich das gesamte System aktualisieren und die neueste Betriebssystemversion installieren, wenn ich müsste, würde ich Debian und die neuesten stabilen Versionen von PHP und MySQL nehmen.