質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

1回答

2210閲覧

EC2とRDSの接続ができない

kuyan

総合スコア6

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2021/10/12 01:32

編集2021/10/12 02:16

前提・実現したいこと

EC2とRDSのT2.micro(無料)のインスタンスを立ち上げ、
SSH通信を用いてPHPファイルをEC2のサーバー上に表示させ、
SQL文によってRDSと接続し、RDSに書き込めるようにしたいです。
SSH接続に用いているのはTera termです。

今現状出来ているのはTera term上でEC2とSSH接続をし、
RDSのデータベースを開き、操作などできます。
ですが、EC2のサーバー上(Web上)に上げたPHPファイルで
接続しようとするとHTTP ERROR 500エラーが起こってしまいます。

Tera termのEC2上でのmysqlの起動,Apacheの起動,PHPのインストールは
確認済みです。SQL文以外のechoなどはEC2のサーバー上(Web上)でも使用できます。

よろしくお願い致します。

発生している問題・エラーメッセージ

**.ap-northeast-1.compute.amazonaws.com/*.phpをWebブラウザで見ると500エラーだけが表示されます。
以下のエラーはtail -f error_logで出力されたものになります。

[Mon Oct 11 22:45:56.499755 2021] [php7:error] [pid 4076] [client 52.87.171.150:23602] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/index.php:2\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 2 [Mon Oct 11 22:46:12.445648 2021] [php7:error] [pid 4636] [client 195.181.162.179:59786] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/index.php:2\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 2 [Mon Oct 11 23:18:34.444414 2021] [php7:error] [pid 4137] [client 64.227.13.201:60492] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/index.php:2\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 2 [Mon Oct 11 23:47:14.460053 2021] [php7:error] [pid 4078] [client 193.118.53.202:50644] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/index.php:2\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 2 [Tue Oct 12 00:24:58.364300 2021] [php7:error] [pid 4077] [client 186.159.4.25:53925] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/index.php:2\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 2 [Tue Oct 12 00:47:04.537423 2021] [php7:error] [pid 4074] [client 52.87.171.150:19042] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/index.php:2\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 2 [Tue Oct 12 01:01:53.318716 2021] [php7:error] [pid 4078] [client 125.204.36.192:51418] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/index.php:2\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 2 [Tue Oct 12 01:30:06.324297 2021] [php7:error] [pid 4636] [client 128.14.209.162:49740] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/index.php:2\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 2 [Tue Oct 12 01:31:08.592618 2021] [php7:error] [pid 4074] [client 41.140.12.195:54887] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/index.php:2\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 2 [Tue Oct 12 01:59:25.057931 2021] [php7:error] [pid 4076] [client 91.197.186.201:35972] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/index.php:2\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 2

該当のソースコード

php

1<?php 2$link = mysqli_connect('**.ap-northeast-1.rds.amazonaws.com:3306', 'ユーザー名', 'パスワード', 'データベース名'); 3 4if (!$link) { 5 die('接続失敗です。'.mysqli_connect_error()); 6} 7 8print('<p>接続に成功しました。</p>'); 9 10$sql = "SELECT Venue_name FROM table WHERE random_number = 5465;"; 11$res = $link->query($sql); 12if( $res ) { 13 $sth = $link -> query($sql); 14 while($row = $res->fetch_assoc() ){ 15 echo $row["Venue_name"]; 16 } 17} 18?>

試したこと

疎通確認できています
Tera termからRDSに接続しSELECT文で中のデータを確認済み

補足情報(FW/ツールのバージョンなど)

AWS
・EC2 T2.micro
・RDS T2.micro
Tera term
・PHP 7.4.21
・Ver 8.0.26 for Linux on x86_64 (MySQL Community Server - GPL)
・Apache/2.4.48 ()
Google Chrome

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AbeTakashi

2021/10/12 01:47

500エラーの原因はhttpサーバ(Apache)のエラーログを見てください。500エラーがRDSに関係しているかどうか、この質問だけではなんとも言えません。
kuyan

2021/10/12 02:01

209.17.96.122 - - [12/Oct/2021:00:01:17 +0000] "\x16\x03\x01" 400 226 "-" "-" 186.159.4.25 - - [12/Oct/2021:00:24:58 +0000] "GET / HTTP/1.1" 500 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" 52.87.171.150 - - [12/Oct/2021:00:47:04 +0000] "POST / HTTP/1.1" 500 - "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" 52.87.171.150 - - [12/Oct/2021:00:47:04 +0000] "GET /.env HTTP/1.1" 404 196 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" 125.204.36.192 - - [12/Oct/2021:01:01:40 +0000] "GET /demo.php HTTP/1.1" 200 6 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" 125.204.36.192 - - [12/Oct/2021:01:01:53 +0000] "GET /index.php HTTP/1.1" 500 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" 128.14.209.162 - - [12/Oct/2021:01:30:06 +0000] "GET / HTTP/1.1" 500 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" 41.140.12.195 - - [12/Oct/2021:01:31:08 +0000] "GET /.env HTTP/1.1" 404 196 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" 41.140.12.195 - - [12/Oct/2021:01:31:08 +0000] "POST / HTTP/1.1" 500 - "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" 120.85.149.127 - - [12/Oct/2021:01:53:04 +0000] "POST /GponForm/diag_Form?images/ HTTP/1.1" 404 196 "-" "Hello, World" tail -f access_logで取得したエラー情報になります。早々の返信ありがとうございます。 こちらのエラーログであってますでしょうか?
AbeTakashi

2021/10/12 02:04

アクセスログだとエラーの内容は500という数字しか出ないので、500エラーの原因はわかりません。アクセスログではなくエラーログは出力していないでしょうか? Apacheの設定ファイルを確認して頂き、エラーログを出力していないのなら出力するようにしてください(デフォルトでは設定されてるはずですが)。 あと、ここにログを書かれても見ない人もいるので、エラーログの内容は質問文に追記してください。
kuyan

2021/10/12 02:18

エラーメッセージの追記をさせていただきました。 こちらのエラーログであってますでしょうか?
guest

回答1

0

ベストアンサー

PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect()

ですので、単純にPHPにmysqli拡張モジュールが入っていないように見えます。どのようにPHPをインストールしたかで変わりますが、yumでPHPを入れたなら yum -y install php-mysqli です。こちらはインストール方法に応じて、適宜変えてください。その後、Apacheの再起動も必要になると思います。

このようなエラーの場合、とにかくサーバのエラーログを見るのが一番の近道です。今後も心がけるといいと思います。undefined function mysqli_connectでググれば一発で対処法も分かります。

投稿2021/10/12 02:22

編集2021/10/12 02:25
AbeTakashi

総合スコア4853

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kuyan

2021/10/12 02:32

EC2サーバー上で確認することが出来ました。 丁寧に教えていただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問