简体   繁体   English

Mysql连接在AWS EC2上不起作用

[英]Mysql connection is not working on AWS EC2

I have trying to configure AWS server myself. 我试图自己配置AWS服务器。

Info1: EC2 as hosting and select Ubuntu 14 as OS and install Apache PHP and I have check that it php and http works. 信息1: EC2作为托管服务器,选择Ubuntu 14作为OS并安装Apache PHP,我已检查它是否可以使用php和http。 I have install Apache and php using below command: 我已经使用以下命令安装了Apache和php:

sudo apt-get install apche2 php5 libapche2-mod-php5

and install MySQL client using 并使用安装MySQL客户端

sudo apt-get install mysql-client-core-5.5

Info2: RDS as mysql database instance it is working. Info2: RDS作为mysql数据库实例正在运行。

Info3: When we trying to import sql from EC2 server using command it work 信息3:当我们尝试使用命令从EC2服务器导入sql时,它可以正常工作

Info4: t2.micro as EC2 Instance and t2.micro as RDS instance Info4: t2.micro作为EC2实例,t2.micro作为RDS实例

Issue: 问题:

When we try to connection RDS from a php script it showing error: 当我们尝试从php脚本连接RDS时,显示错误:

Call to undefined function mysqli_connect() in /var/www/html/awsmysql.php on line 3 在第3行的/var/www/html/awsmysql.php中调用未定义的函数mysqli_connect()

My script code is: 我的脚本代码是:

<?php
echo  "Create connection";
$con=mysqli_connect("awsmysqlhost","root","password1223","db");

echo "Check connection";
try{
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
echo  "Create database";

$sql="Select * from  test";
if (mysqli_query($con,$sql)) {

    $result = mysqli_query($con,"Select * from  test");

while($row = mysqli_fetch_array($result)) {
  echo $row['id'] . " " . $row['name'];
  echo "<br>";
}

  echo "Database my_db created successfully";
// var_dump($r);
} else {
  echo "Error creating database: " . mysqli_error($con);
}
}catch(Exception  $e)
{
    echo "<pre>";
    var_dump($e);
    echo "</pre>"; 
}
?> 

Question(s): 问题:

  • Is need to install some MySQL or PHP to library which will connect EC2 with RDS and running the system? 是否需要在库中安装一些MySQL或PHP以将EC2与RDS连接并运行系统?

  • Need some Apache Configuration at EC2 Instance? 需要在EC2实例上进行一些Apache配置吗?

  • Is there need some setting at AWS? AWS是否需要一些设置?

You need a mysqli php extension. 您需要mysqli php扩展名。 MySQLi extension is automatically installed in most cases, when php5 mysql package is installed. 在大多数情况下,当安装了php5 mysql软件包时,会自动安装MySQLi扩展。

sudo apt-get install php5-mysql    
sudo service apache2 restart

Please install php extension for mysql. 请为mysql安装php扩展名。 Run below command and then try. 运行以下命令,然后尝试。

apt-get install php5-mysql

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM