kwi 12 2009

PDO MySQL i Zend Framework – Unix_Socket

Powered by Zend Framework

Natknąłem się na mały problem podczas próby łączenia się z bazą danych używając PDO (adapeter do MySQL) +  Zend Framework.

1
Can't connect to local MySQL server through socket '/tmp/mysql5.sock'

Jedną drogą rozwiązania tego problemu jest ustawienie zmiennej unix_socket w pliku php.ini. Jest jednak druga możliwość. Wystarczy podczas przekazywania ustawień połączenia dodać zmienną „unix_socket” i tam wpisać prawidłową wartość ;)

1
2
3
4
5
6
7
8
$options = array(
    'host'        => 'localhost',
    'username'    => 'user',
    'password'    => '****',
    'dbname'      => 'db',
    'unix_socket' => '/tmp/mysql5.sock'
    );
$db = Zend_Db::factory('Pdo_Mysql', $options);

W moim przypadku używam plików .ini:

1
2
3
4
5
6
7
[development]
   db.adapter = PDO_MYSQL
   db.configuration.host = localhost
   db.configuration.username = user
   db.configuration.password = passwd
   db.configuration.dbname = dbname
   db.configuration.unix_socket = /var/run/mysql/mysqld.sock