2017-01-19 49 views
1

在我的AWS EC2服務器不知道的服務,我有2個項目:未捕獲PDOException:PDO :: __結構():php_network_getaddresses:失敗的getaddrinfo:姓名或

  1. Laravel項目連接此RDS數據庫。我沒有PB將其連接,連接自己的DB(也RDS)
  2. WordPress的項目,也是在一個插件,我添加了一個自定義連接到我的Laravel DB,所以我可以很容易地插入數據。

當我在本地主機此代碼的工作,但是當我把真正的主人,這是失敗的:

$capsule->addConnection(array(
'driver' => 'mysql', 
'host' => 'kendozone.cp90iogazqzc.us-west-2.rds.amazonaws.com', 
'database' => 'mydb', 
'username' => 'myuser', 
'password' => 'mypas', 
'charset' => 'utf8', 
'collation' => 'utf8_unicode_ci', 
'prefix' => 'ken_', 
'port' => '3306' 

));

這是錯誤消息:

Uncaught PDOException: PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known in ... 

我在想什麼????

+0

你失蹤的端口。 –

+0

您錯過了端口,或者端口不同於您在設置中使用的端口。 –

+0

我加了口,但還是失敗了,更新的代碼 –

回答

1
<?php 
$dbhost = $_SERVER['RDS_HOSTNAME']; 
$dbport = $_SERVER['RDS_PORT']; 
$dbname = $_SERVER['RDS_DB_NAME']; 

$dsn = "mysql:host={$dbhost};port={$dbport};dbname={$dbname}"; 
$username = $_SERVER['RDS_USERNAME']; 
$password = $_SERVER['RDS_PASSWORD']; 

$dbh = new PDO($dsn, $username, $password); 
?> 

您缺少此端口。 AWS REFERENCE

+0

是不是一種方式與膠囊?爲什麼它在本地工作,如果端口失敗? –

+0

看看這個線程@JuliatzindelToro http://stackoverflow.com/questions/31574722/how-to-connect-to-mysql-database-on-port-3308-using-laravel-framework-5-1 –

相關問題