2017-01-19 2 views
1

В моем AWS EC2 сервер, у меня есть 2 проекта:Uncaught PDOException: PDO :: __ конструкт(): php_network_getaddresses: getaddrinfo не удалось: Имя или служба не известны в

  1. Laravel проекта, которые соединяют этот RDS DB. У меня нет pb, чтобы подключить его
  2. Wordpress Project, который соединяет его собственную БД (также в RDS), а также в плагине, я добавил настраиваемое соединение с моей 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 –

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