CakePHP: Keine solche Datei oder ein Verzeichnis (Versuch über Unix zu verbinden: ///var/mysql/mysql.sock)

StackOverflow https://stackoverflow.com/questions/3968013

Frage

Ich habe eine CakePHP App läuft auf meinem lokalen Rechner (Mac OS X) für eine Weile hatte und dann suddently merke ich, dass ich nicht zu mysql.sock verbinden kann.

Ich erhalte diese Fehlermeldung:

Warning (2): mysql_connect() [http://php.net/function.mysql-connect]: [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) [CORE/cake/libs/model/datasources/dbo/dbo_mysql.php, line 540]

Die Linie 540 von dbo_mysql.php lautet:

$this->connection = mysql_connect($config['host'] . ':' . $config['port'], $config['login'], $config['password'], true);

Ich habe überprüft, gibt es keine fle //var/mysql/mysql.sock. Es ist eigentlich in /tmp/mysql.sock

Ich habe versucht, die Änderung meiner php.ini.default die oben anzupassen, aber es ist bereits auf Blick in / tmp / für lokale Verbindungen. Warum und woher kommt der Fehler aus?

Hat über einen ähnlichen Fehler jemand kommen?

Danke,

Jonesy

War es hilfreich?

Lösung

Versuchen Sie einen absoluten Pfad der die mysql.sock Datei in der APP / config / database.php

vorbei
<?php
    class DATABASE_CONFIG {
        var $default = array(
            'driver' => 'mysql',
            'persistent' => false,
            'host' => 'localhost',
            'login' => 'dbUser',
            'password' => 'dbPassword',
            'database' => 'dbName',
            'prefix' => '',
            'port' => '/path/to/mysql.sock'
        );
    }

Das ist besser als über eine IP für die lokale Verbindung läuft als die Socket-Verbindung ist viel, viel schneller.

Andere Tipps

Wenn Sie Problem haben mit CakePHP 2.0, versuchen Sie dies:

sudo mkdir /var/mysql
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

In phpcake 2.0 Verwendung 'unix_socket' anstelle von Port

<?php
    class DATABASE_CONFIG {
        var $default = array(
            'datasource' => 'Database/Mysql',
            'persistent' => false,
            'host' => 'localhost',
            'login' => 'dbUser',
            'password' => 'dbPassword',
            'database' => 'dbName',
            'prefix' => '',
            'unix_socket' => '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock', //Path for mac XAMPP
        );
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top