1
我正在使用Symfony/Silex SecurityServiceProvider登錄該網站上的用戶。SQLSTATE [08006] [7]無法將主機名「dbname =」轉換爲地址
http://silex.sensiolabs.org/doc/providers/security.html
我跟着一步導引門檻,但是當我提交登錄表單,我有一個PostgreSQL錯誤
SQLSTATE[08006] [7] could not translate host name "dbname=" to address
不管我了DBNAME設置,我還是得到了錯誤。即使使用遠程服務器的正確IP也是如此。不過,我的設置很好,因爲我使用相同的類來連接和請求服務器,並且它始終工作。
該錯誤只在提交登錄表單時出現!
我的登錄類
<?php
namespace Model;
use Silex\Application;
abstract class Entity {
private $app;
private $host;
private $base;
private $port;
private $user;
private $pass;
private $charset;
public function __construct(Application $app)
{
$this->app = $app;
$this->host = $app['config']['database']['host'];
$this->base = $app['config']['database']['base'];
$this->port = $app['config']['database']['port'];
$this->user = $app['config']['database']['user'];
$this->pass = $app['config']['database']['pass'];
$this->charset = $app['config']['database']['charset'];
}
protected function connectBDD()
{
$connect = new \PDO("pgsql:host=$this->host;dbname=$this->base", $this->user, $this->pass);
$connect->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$connect->query("SET NAMES '$this->charset'");
return $connect;
}
}
}
感謝您的幫助
事實上,孩子的構造破碎的父類的構造... – Macbernie