Docker×Laravel×Vue 


開発で必要な記事をまとめていきます。
これを参考にして開発始める人の手助けになればいいなと思って
自分が参考にした記事をまとめていきます。



##マルチログインの実装

参考記事
https://qiita.com/namizatop/items/5d56d96d4c255a0e3a87?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items

それぞれ別々のディレクトリに分けてあげて判断。


###認証に必要な要素を付け加える

https://qiita.com/sasakure-kei@github/items/388a2900557a6079164d

###Laravel authで404 nginxが使えない時
https://qiita.com/isaatsu0131/items/f1eafe7522f0bf0ff043

nginxのファイル探索部分がおかしいらしい



##Docker


起動中のコンテナ一覧

```
docker ps
```



Image起動

```
docker run -it IMAGE名 bash
```

##Docker起動
https://qiita.com/A-Kira/items/1c55ef689c0f91420e81

##Docker Laravel　実行

https://qiita.com/A-Kira/items/1c55ef689c0f91420e81

```
docker-compose down


docker-compose up -d

```

##Docker 起動してもexitするとき
```
docker logs コンテナID
```

https://qiita.com/mom0tomo/items/35dfacb628df1bd3651e

Mysql　bin/bashで起動

```
docker exec -it db-host bin/bash
```

##Dockerのイメージ壊してテーブルのデータが消えた時
```
ERROR 1812 (HY000): Tablespace is missing for table `engineerMatching`.`companies`.
```

https://qiita.com/___uhu/items/74168be48c05638c7ac5

まず以下を実行する

```
ALTER TABLE example_table DISCARD TABLESPACE;

ALTER TABLE example_table IMPORT TABLESPACE;
復活！
```

##Docker 全て終了させる

https://qiita.com/shisama/items/48e2eaf1dc356568b0d7

```
docker rmi $(docker images -q)
```

##Docker再構築

https://qiita.com/shisama/items/48e2eaf1dc356568b0d7

##Docker Mysql起動

起動時の初期設定参照URL

https://qiita.com/pugiemonn/items/b17288494e4b627f4475

```
docker exec -it db-host  bin/bash

のコマンドの際に

Error response from daemon: Container 5d83ac9a96ef971c5016b2a6559e75f43bfd71fa71909e89c3c04fd22ff89b94 is not running

```
と出たので

```
docker start 5d83ac9a96ef971c5016b2a6559e75f43bfd71fa71909e89c3c04fd22ff89b94
```

で普通に入れました。

自分の場合 DBのデータが入っているディレクトリごと消すとうまくいきました。
→これはおそらく最終手段なので本番環境でやると致命的になるので注意。


##Tablespace is missing for table 

https://qiita.com/___uhu/items/74168be48c05638c7ac5

## Nginx 413 Request Entity Too Large

Nginxのconfファイルに

```
server{
    client_max_body_size 30M;
}
```
みたいに最大許容量を指定してあげれば対応可能です。


https://qiita.com/takecian/items/639deeae094466de6546


##SPAの実装

###非同期での認証
https://blog.capilano-fw.com/?p=3458


##画面

https://giga-log.com/material-icons-use/

##コンパイル時のエラー

there are multiple modules with names that only differ in casing” but modules referenced are identical
大文字小文字が入っている時に出るっぽい
https://stackoverflow.com/questions/47534267/webpack-there-are-multiple-modules-with-names-that-only-differ-in-casing-but?rq=1

##Vue Router 404ERROR対処方法

ルーティング指定
https://sashimistudio.site/rails-vuerouter-history404/


https://blog.hirokiky.org/entry/2019/08/22/111031

解決してくれたもの
https://teratail.com/questions/121182

```web.php

Route::get('/{any}',function(){
    return view('./company/home');
})->where('any','.*');
```

この記述で画面リロードしてもページ表示されるっす。
ルーティングの一番前に持ってきてあげる必要あり！！！！




##開発時に使えそうなもの

ホットリロード
https://vue-loader-v14.vuejs.org/ja/features/hot-reload.html

##変更すべきPHP.ini確認方法

```
echo $(php -r 'echo php_ini_loaded_file();')

```

読み込まれているファイルを確認できるコマンド

##最大投稿可能サイズ確認

```
php -i|grep max
```

### php.ini設定変更
post＿maxこれをdockerファイルに記述してあげたところ成功

```
RUN echo "file_uploads = On\n" \
         "memory_limit = 500M\n" \
         "upload_max_filesize = 500M\n" \
         "post_max_size = 500M\n" \
         "max_execution_time = 600\n" \
         > /usr/local/etc/php/conf.d/uploads.ini
```

https://web-memo-s.hatenablog.com/entry/2019/02/21/182815

##さくらサーバにデプロイ

非常に感謝しています。簡潔でわかりやすい。

https://arrown-blog.com/laravel-sakura-deploy/

##デプロイ時に　Class 'Collective\Html\HtmlServiceProvider' not found

composerのアップデートしていないのが原因
https://stackoverflow.com/questions/54675520/composer-update-the-requested-php-extension-ext-http-missing

##Class 'Egulias\EmailValidator\Validation\RFCValidation' not found

https://laracasts.com/discuss/channels/laravel/eguliasemailvalidatoremailvalidator-does-not-exist

同様に困ってる方の質問で
```
rm -rf vendor/*

の後に

composer install --no-dev
```

で万事解決！！

##メールが文字化けする。。。

![スクリーンショット 2020-06-29 1.22.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/432086/0ca54f0c-28e8-1ba1-3b4f-0085e6ba8dfe.png)

右下の文字をUTF-8にしてあげることで解決。。

2hかかった。。。