2016-02-03 3 views
1

Я пытаюсь подключиться к базе данных с использованием PDO Подключение через Zend:Strato сервер PHP Zend PDOException Оправа

<?php 
class Feuerwehr_Db extends Zend_Db { 

    public static function factoryEinsaetze(){ 
     $config = array(
      'LOCAL' => array(
       'servername' => "localhost", 
       'username' => "root", 
       'password' => "admin", 
       'dbname' => "einsaetze" 
      ), 
      'LIVE' => array(
        'servername' => "rdbms.strato.de", 
        'username' => "U2340080", 
        'password' => "*****", 
        'dbname' => "DB2340080" 
      ) 
     ); 
     return parent::factory('Pdo_Mysql', $config[Feuerwehr_Environment::getStage()]); 
    } 
} 

Связь выбирает все регистрационные данные правильно и создает соединение с базой данных. Все отлично работает локально, но на моем Strato сервере не удается установить соединение со следующим исключением:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)' in /mnt/web024/d1/57/5707957/htdocs/Beta/library/Zend/Db/Adapter/Pdo/Abstract.php:129 Stack trace: #0 /mnt/web024/d1/57/5707957/htdocs/Beta/library/Zend/Db/Adapter/Pdo/Abstract.php(129): PDO->__construct('mysql:servernam...', 'U2340080', '*****', Array) #1..... 

РНР версии на сервере 5.6 и стандартное mysql_connect отлично работает.

ответ

0

Ожидается, что Zend ожидает «хозяин» ключа, а не «имя сервера». Параметр по умолчанию устанавливается как localhost, который объясняет исключение ошибки.

Смежные вопросы