Laravelの導入でちょっと嵌った

Laravelを入れるにあたってちょっと嵌ったこととか、役に立てばいいなと思い書き記しておきます。

因みにphpのバージョンは7.3です。

#Composerをいれる
```console
$ php -r "unlink('composer-setup.php');"
$ sudo mv composer.phar /usr/local/bin/composer
$ sudo chmod +x /usr/local/bin/composer
$ composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.9.0 2019-08-02 20:55:32

Usage:
.
.
.

```

#laravelをいれる
```console
$ composer global require "laravel/installer=~1.1" 
$ laravel
Laravel Installer 1.5.0

Usage:
.
.
.
```
#プロジェクトの作成(<font color="orange">ここで嵌った</font>)
laravelappという名前のプロジェクトを作成します。すると、

```console
Crafting application...
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for erusev/parsedown 1.7.3 -> satisfiable by erusev/parsedown[1.7.3].
    - erusev/parsedown 1.7.3 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 2
    - Installation request for laravel/framework v5.8.31 -> satisfiable by laravel/framework[v5.8.31].
    - laravel/framework v5.8.31 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 3
.
.
.
```

なんだか色々問題があったらしい。

エラーから察するにext-mbstringが必要なのかなと

`sudo apt install php7.3mbstring`して、もう一度やってみます。

すると、<font color="red">Application already exists!</font>
と怒られた。どうやらプロジェクトのディレクトリはできているらしい。

てなことでlaravelappディレクトリに移動した後`php artisan serve`
するとこんなエラーが出た。

```
PHP Warning:  require(/home/hibiki/tmp/laravel/laravelapp/vendor/autoload.php): failed to open stream: No such file or directory in /home/hibiki/tmp/laravel/laravelapp/artisan on line 18
PHP Fatal error:  require(): Failed opening required '/home/hibiki/tmp/laravel/laravelapp/vendor/autoload.php' (include_path='.:/usr/share/php') in /home/hibiki/tmp/laravel/laravelapp/artisan on line 18
```

ぐぐってみたところ、`composer install`で解決するらしい。


```console
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for phar-io/manifest 1.0.3 -> satisfiable by phar-io/manifest[1.0.3].
    - phar-io/manifest 1.0.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 2
    - Installation request for phpunit/php-code-coverage 6.1.4 -> satisfiable by phpunit/php-code-coverage[6.1.4].
    - phpunit/php-code-coverage 6.1.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 3
.
.
.
```

こんな感じでProblemがいっぱい出た（既視感）

ext-domってなんや？
調べると、php7.3-xmlというパッケージのことらしい。

`sudo apt install php7.3-xml`(適宜phpのバージョンは変えてください。)

`composer install`

すると成功した。

あとは`php artisan serve`でLaravelのページが表示されれば成功や！


***ポチッ***


![Screenshot at 2019-08-12 16-57-58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261602/6b078ea7-b568-0166-f669-bdb862aad75b.png)


***???***


調べてみると、隠しファイル.env(.env.sampleというファイルの中身をcp)を作って、
encryption keyを追加することで500エラーは治るみたいです。

keyのほうはこうした。

```
$ php artisan key:generate
$ php artisan config:clear
```

![Screenshot at 2019-08-12 17-02-47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261602/bcfded86-f999-68d9-57ad-1af3727aade9.png)

ってことで無事Laravelが表示されたのでおしまい。



>参考文献
>[色々なOSでcomposerインストール方法をマスターする](https://awesome-linus.com/2019/02/26/composer-install/)
>[laravelで サーバーを起動することができません](https://teratail.com/questions/141714)
>[【Larvel】Larvelに入門してみた。プロジェクト作成まで](https://jitaku-server.com/?p=201)
>[PHPUnitを、Composerでインストールする時のメモ](http://yinm.hatenadiary.jp/entry/2017/02/12/190608)
>[殺意！Laravelを初期導入したら500エラーが出た件！](https://traveler0401.com/laravel-shoki-500-error/)