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

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

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

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

Q&A

解決済

2回答

7046閲覧

Packets out of order

Junya42

総合スコア5

Laravel

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

0グッド

0クリップ

投稿2019/08/16 08:24

編集2019/08/16 08:46

前提・実現したいこと

イメージ説明
laravelで、既存のデータベースから六行ほどの少ないデータをとりだそうと
しているのですが、このエラー画面が表示されてしまいます。

どうしたらいいでしょうか?

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

SQLSTATE[HY000] [2006] MySQL server has gone away

該当のソースコード

PHP

1 public function getHome(){ 2 $menus = DB::select('select * from menus'); 3 return view('home',['menus' => $menus]); 4 }

configのdatabaseの方です。

PHP

1'default' => env('DB_CONNECTION', 'mysql'),

PHP

1'mysql' => [ 2 'driver' => 'mysql', 3 'url' => env('DATABASE_URL'), 4 'host' => env('DB_HOST', '伏せてます'), 5 'port' => env('DB_PORT', '22'), 6 'database' => env('DB_DATABASE', 'g1_db'), 7 'username' => env('DB_USERNAME', 'g1'), 8 'password' => env('DB_PASSWORD', '伏せてます'), 9 'unix_socket' => env('DB_SOCKET', ''), 10 'charset' => 'utf8mb4', 11 'collation' => 'utf8mb4_unicode_ci', 12 'prefix' => '', 13 'prefix_indexes' => true, 14 'strict' => true, 15 'engine' => null, 16 'options' => extension_loaded('pdo_mysql') ? array_filter([ 17 PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), 18 ]) : [], 19 ],

envファイルのほうです。

PHP

1DB_CONNECTION=mysql 2DB_HOST=nsc-jp.net 3DB_PORT=22 4DB_DATABASE=g1_db 5DB_USERNAME=g1 6DB_PASSWORD=nscnl001

試したこと

pockest,
soketsのサイズを大きくしようとしたら
スーパーpriviledge(特権)が必要と言われて
できませんでした。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

mikkame

2019/08/16 08:37

ツッコミどころが満載ですね・・・ ①`Packets out of order` はどこで出てきたのでしょうか?質問文中に存在しません。 ②ポートが22(SSH)なのが謎、通常3306なはず。 ③.env経由の設定と、そうじゃない設定(env関数の第二引数を利用)が混在しているが適切に設定済なのか ④リモートのMySQLに繋ごうとしているならその旨と経緯と設定を書いて欲しい
Junya42

2019/08/16 08:56 編集

1 すいません。これは、張ってある写真の右下の方に、小さく出ています。 2 ポートはそうなんですね、puttyを使って普段は接続しているのですが、そこのポート番号が22と書いてあったので、 3すいません。わからないです。 4 やろうとしてるのは、xamppのlocalhostで開こうとしています! 3306に変更したところ、 SQLSTATE[42000]: Syntax error or access violation: 1115 Unknown character set: 'utf8mb4' (SQL: select * from menus) とでました。
mikkame

2019/08/16 09:16

ローカルのxamppのlocalhostに接続しようとしているなら3306でいいのでは? > SQLSTATE[42000]: Syntax error or access violation: 1115 Unknown character set: 'utf8mb4' これは、Mysqlのバージョンが古いからだと思います 取り急ぎ utf8 に変更すればOKかと
guest

回答2

0

ベストアンサー

MySQLサーバではなく、SSHサーバに接続しようとして想定しているレスポンスではないためパケットがおかしいと言われているのではないでしょうか

投稿2019/08/16 13:05

mikkame

総合スコア5036

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

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

0

MySQLのエラーと対策まとめという記事に今回のエラーの考えられる原因と対策があるので確認のうえ、試してみてください。

とりあえず実データではなくSELECT 1;を実行してみるとひとつ見えるのでは。

投稿2019/08/16 08:42

m.ts10806

総合スコア80765

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

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

Junya42

2019/08/16 08:53

$menus = DB::select('select 1'); このように変更してみました しかし、また同じエラーが出ました。
m.ts10806

2019/08/16 08:56

>ポートはそうなんですね、puttyを使って普段は接続しているのですが、そこのポート番号が22と書いてあったので、 それはあくまでputtyから接続するサーバーのポートなので関係ないですね。 SSHサーバーの初期ポートです。 MySQLのポートを入れてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問