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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

2回答

511閲覧

Amazon Linux 2(サーバ)でLaravelを動かしたい

yoheiiii

総合スコア87

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

0クリップ

投稿2022/10/14 04:33

編集2022/10/14 04:55

ローカルLaravelでバッチを動かしています。
動作確認済み。内容をサーバに持ってきました。(Laravelとmysqlを入れた)
いざバッチを起動すると
Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] Connection timed out (SQL: select exists(select * from where = https://〇〇:〇.amazonaws.com ID:〇) as exists)

Exception trace:

1 PDOException::("SQLSTATE[HY000] [2002] Connection timed out")

2 PDO::__construct("mysql:host=〇;port=〇;dbname=〇", "root", "〇", [])
となってしまいます。

Laravelのenv
DB_CONNECTION=mysql
DB_HOST=☆☆.☆☆☆.☆☆☆.☆☆☆ ←サーバのIP
DB_PORT=3306
DB_DATABASE=☆←設定してあるDB名
DB_USERNAME=root
DB_PASSWORD=☆←設定したPW

サーバーのmysqlには
mysql -u root -p -P 3306
で入れます。
mysqlの起動も確認しています。

my.cnfファイルにポートを記載しようと試みましたが
そもそもport=の記述がありません。

ご教授頂けないでしょうか?

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

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

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

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

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

yoheiiii

2022/10/14 04:55

ご指摘ありがとうございます。 詳細追加致しました。
m.ts10806

2022/10/14 04:57

>ローカルLaravelでバッチを AWSにDBがあってそこにローカルのLaravelからアクセスしようとしているのですか? ローカルPCからコマンドでアクセス確認できてますか? 出来てないのでしたらやはりポートが解放されてない(もしくは外部からは元々アクセスできない)のどちらかでしょう。
yoheiiii

2022/10/14 05:06

わかりづらく申し訳ございません。 AWSでmysqlとララベルを構築してそのサーバーでバッチコマンドを叩きました。 なのでAWS上で全て完結する想定です。
m.ts10806

2022/10/14 05:08

同サーバー内ならlocalhost で接続は出来ませんか?
yoheiiii

2022/10/14 05:15

大変申し訳ございません。 言っている意味が理解できておりません。。
yoheiiii

2022/10/14 05:30

localhostで設定したところ動きました。 ご教授ありがとうございます。 ベストアンサーにさせて頂きたいのですが、 回答に投稿して頂けないでしょうか?
m.ts10806

2022/10/14 05:32

こちらは環境がないのと、問題切り分けのために確認してもらってただけなので、 ご自身で顛末をまとめて回答とされると良いと思います。(ベストアンサーやポイント欲しくて回答してるわけではないので)
m.ts10806

2022/10/14 05:33

ただ、同サーバー内でもホストが正しければ接続は出来るはずなので、 ユーザの権限やポート開放などの観点で調べておく必要はあると思います。
yoheiiii

2022/10/14 05:37

承知致しました。 確認してみます。 ご教授ありがとうございました。
guest

回答2

0

自己解決

mysql> select user, host from mysql.user;
でuserがrootでhostがlocalhostであることを確認する。

Laravelのenvを下記に修正
DB_HOST=localhost

投稿2022/10/14 07:47

yoheiiii

総合スコア87

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

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

0

同じサーバーにLaravelの環境とmysqlが入っているのであれば
DB_HOSTはlocalhostで良いと思います。
もしRDSなどを使っているのであれば繋げられるようにセキュリティグループなどの対応が必要かと思いますが様子を見る限り違いそうなので。

mysql -u root -p -P 3306 はサーバー内で叩いたということであってますよね?

投稿2022/10/14 07:39

fagai

総合スコア2158

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問