EC2 подключает RDS с помощью PHP

я знаю, что об этом спрашивали, но ни в одном из потоков не было решения, которое сработало для меня
Я успешно подключаюсь к RDS из XAMPP (локальный)
Также я отлично подключаюсь к mySql workbench
Возникли проблемы с подключением из EC2

с ошибкой: Fatal error: Call to undefined function mysql_connect()

вот как выглядит мой PHP:

define("HOST", "mydatabase-starter.Pzw9yv81CmMJ.us-east-1.rds.amazonaws.com:3306");
define("DBUSER", "mydatabaseUser");
define("PASS", "**********");
define("DB", "mydatabase");

die("Going to connect now, wish me luck!");
$conn = mysql_connect(HOST, DBUSER, PASS) or die();
$db = mysql_select_db(DB) or die();


так же выглядит защита от RDS!введите здесь описание изображения
EC2 стек ламп, новая установка apache и php, без mysql.
что я делаю не так? есть ли какие-либо другие службы, которые мне не хватает?

ОБНОВЛЕНИЕ: из SSH я могу подключиться к RDS с помощью:
sudo mysql -h mydatabase-starter.Pzw9yv81CmMJ.us-east-1.rds.amazonaws.com -P 3306 -u mydatabaseUser -p

* это выведет «Иду на подключение а теперь пожелай мне удачи!" из файла PHP
, но похоже, что соединение не происходит, когда оно находится на EC2


person t q    schedule 24.05.2012    source источник
comment
Получаете ли вы что-нибудь полезное от mysql_error() после сбоя соединения?   -  person keithhatfield    schedule 24.05.2012
comment
я не получаю вывод, как будто соединение даже не происходит, когда оно на AWS   -  person t q    schedule 24.05.2012
comment
Хм. Разрешает ли порт 3306 вашего инстанса EC2 исходящий трафик?   -  person Daan    schedule 25.05.2012
comment
3306 › вышел? где я могу это проверить?   -  person t q    schedule 25.05.2012
comment
Самый быстрый способ — это онлайн-панель управления Amazon EC2. Войдите в систему в правом верхнем углу страницы, перейдите к EC2 и просмотрите настройки безопасности для вашего экземпляра.   -  person Daan    schedule 25.05.2012
comment
Вызывается ли код, который устанавливает соединение? Что произойдет, если вы поместите die("Going to connect now, wish me luck!"); в строку перед вызовом mysql_connect?   -  person Daan    schedule 25.05.2012
comment
Что касается безопасности 3306 OUT, я вижу только входящие   -  person t q    schedule 25.05.2012
comment
Одна из причин, по которой вы не видите результат — напишите ...or die (mysql_error())   -  person Anna Billstrom    schedule 20.08.2012
comment
Это когда-нибудь разрешилось? У меня точно такая же проблема.   -  person TStu    schedule 05.10.2012
comment
@Stu да, здесь все задокументировано. у вас все еще есть проблемы?   -  person t q    schedule 05.10.2012


Ответы (2)


Вам нужен файл php-mysql. Я предполагаю, что вы используете Amazon Linux AMI, поэтому попробуйте

sudo yum install php-mysql
person Josnidhin    schedule 25.05.2012

Это означает, что расширение MySQL не загружено в ваш экземпляр EC2. В зависимости от вашего дистрибутива, вы должны установить его.

В Debian/Ubuntu вы должны запустить команду следующим образом:

$ sudo apt-get install php5-mysql
person Roman Newaza    schedule 25.05.2012
comment
но мой экземпляр EC2 подключается к RDS, который является экземпляром базы данных. мне все еще нужно установить mysql на EC2? - person t q; 25.05.2012
comment
Нет, вам не нужно устанавливать MySQL, и php5-mysql - это не сервер, а модуль MySQL для php5, и он вам нужен для взаимодействия с RDS. - person Roman Newaza; 25.05.2012
comment
попробовал «sudo yum install php5-mysql», но получил этот пакет «Нет доступного пакета php5-mysql». - person t q; 25.05.2012
comment
выньте 5, sudo yum install php-mysql - person t q; 05.10.2012
comment
Поиск пакетов с помощью yum: centos.org/docs/ 5/html/yum/sn-searching-packages.html - person Roman Newaza; 05.10.2012