
AWSのCloud9でPHP5.6/Laravel5.4の環境を作ってみた時のお話
Cloud9を使ってみたい
気軽にアプリを作ったりなんだりしたいときに、
なんとなく自分の環境にはあんまりを手を加えたくない上、
他の人にも見せたいなと思った時に便利そうなので調べてみました。
今回の環境とかは下記の通り。
- t2.micro (1 GiB RAM + 1 vCPU)
- Amazon Linux
- PHP 5.6.40
- Laravel Framework 5.4.36
AWSのアカウントを作ったりするところは割愛しますが、

こんな

感じで

ぽちぽちとお好きなものを指定していくと

もうできます!!!
Laravelをインストールしてみる
Composer
今回Composerを使うので、まずは使える状態にしましょう。
下記を参照してください。
https://getcomposer.org/doc/00-intro.md
Laravel5.4
Composerを入れたら次にLaravelのインストールをします。
今回はなんとなくPHPのバージョンを上げないままにしておくので、推奨されているVer5.4をインストールします。
下記を参考にしつつ、
https://getcomposer.org/doc/00-intro.md
composer create-project — prefer-dist laravel/laravel myApp “5.4.\*”
と打ち込みますと、
Your requirements could not be resolved to an installable set of packages.
とエラーが出てしまうので、php56-mbstringをインストールします。
sudo yum install php56-mbstring
ここでもう一度先ほどのcomposerコマンドを打つと今度はメモリ不足のエラーが出てしまいます。

t2.microだとswap領域が足りなくなってしまうみたいなので、領域を確保してあげましょう。
下記を参考に領域を確保したら今度こそインストール成功です。
https://qiita.com/miyapei/items/6db13b142cacba0522fc
環境はここで一旦いい感じになりました。
ので、
cd myApp
php artisan serve
そして管理画面からアプリにアクセスしてみます。

すると、割とでかめのOopsと出ます。

AWS Cloud9では
実行中のアプリケーションをプレビューする際にはポートとして8080,8081,8082を使うようで、プレビュー画面自体は8080を使うようになっているようです。
https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/app-preview.html
なのでポートを指定してあげます。
php artisan serve — port=8080
これで再度アクセスすると見られますね!

この部分を人にシェアしてあげればすぐに開発中の画面が見せられますね!

ちなみにPHP7.2にあげてから同じような手順を踏むと特にメモリ不足になりませんでした。奥が深っそう!
こちらからは以上です。