Frage

Ich habe mit Zend Framework vor kurzem begonnen. Ich begann auf meinem lokalen XAMPP-Server zu entwickeln, die in Ordnung ging, aber wenn ich zu meinem 1und1 Account hochgeladen, ich erhalte die folgende Fehlermeldung:

  

Nachricht: SQLSTATE [HY000] [2002] Kann nicht   eine Verbindung zum lokalen MySQL-Server über   socket '/var/run/mysqld/mysqld.sock'   (2)

Ich habe versucht, die resources.db.params.unix_socket Linie in meiner application.ini Datei zu den verschieden denjenigen in phpinfo erwähnt ändern, aber ohne Erfolg. Ich fand

Andere Tipps

Wie Sie MySQL verbinden hängt von den Parametern an Sie weitergeben mysql_connect () . Wenn Sie ihm einen Dateipfad übergeben, das heißt. /var/run/mysqld/mysqld.sock, es wird eine Socket-Verbindung versuchen. Wenn Sie es einen Hostnamen übergeben, wird eine TCP-Verbindung versuchen.

Sie müssen den Hostnamen (oder IP) des MySQL-Servers zu finden, und es wie folgt an:

mysql_connect('127.0.0.1:3306',$username,$password);

Quoten für ZF sind, können Sie einfach diese Datei in der Konfiguration angeben, wo Sie Ihre Datenbankeinstellungen zu speichern, oder wenn Sie mit der Datenbank verbinden die host Einstellung mit:

$db = new Zend_Db_Adapter_Pdo_Mysql(array(
    'host'     => '127.0.0.1',
    'username' => 'webuser',
    'password' => 'xxxxxxxx',
    'dbname'   => 'test'
));

Bearbeiten : Wenn Sie ist Führen eines richtigen Hostnamen / Port als Host-Parameter mysql_connect() und diese Nachricht bekommt, dann ist es sehr wahrscheinlich ein Server-Konfigurationsproblem <. / p>

Versuchen Sie, die mysql.default_socket-Einstellung zu bewegen, entweder in der php.ini oder an der Spitze des Anwendungscode mit ini_set ()

ini_set('mysql.default_socket','/path/to/real/socket.sock');

Sie müssen herausfinden, wo die Socket-Datei ist. Oft ist es ‚/var/lib/mysql/mysql.sock‘, aber ich denke, es ist systemabhängig.

Zend Framework hat Option in db params unix_socket, einfach verwenden

 $config= array(
 'db' => array(
'host'   => 'localhost',
'username' => 'user',
'password' => 'pass',
'dbname' => 'dbname',
'dbprefix' => '',
'unix_socket' => '/var/lib/mysqld/mysqld.sock'
  )
);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top