2018-09-22 追記
結局phpを直接インストールするのをやめて、Dockerで遊ぶことにしました。PhpStorm+DockerでCakePHPの開発環境を作ってみた - Mitsuyuki.Shiiba
追記ココマデ
昨日も書いたとおりCakePHPに入門することにしたので。勉強しつつメモ。今日はCakePHPに触る準備までを目標にしてみる。
phpbrew?
色んなバージョンを簡単に切り替えられる方がいいよなーって思って、SDKMAN!とかrbenvみたいにそういうのないかなー?って見てたら、phpenvってのとphpbrewってのがあるみたいで、なんとなくの参考程度にGoogleトレンドで見てみてphpbrewにすることにしてみた。
phpbrewのインストール
ということで、ここを参考にして事前準備をして
Requirement · phpbrew/phpbrew Wiki · GitHub
このPCがUbuntu18.04だからphp7.0はないみたいなので、7.2にして入れといた。
apt install \
php7.2 \
php7.2-curl \
php7.2-json \
php7.2-cgi \
php7.2-fpm \
autoconf \
automake \
libxml2-dev \
libcurl4-openssl-dev \
libssl-dev \
openssl \
gettext \
libicu-dev \
libmcrypt-dev \
libmcrypt4 \
libbz2-dev \
libreadline-dev \
build-essential \
libmhash-dev \
libmhash2 \
libxslt1-dev
んで、あとはここに書いてある通りにphpbrewをインストールしてinitして.zshrc
に設定をいれて
phpbrew/README.ja.md at master · phpbrew/phpbrew · GitHub
phpbrew known
したら動いたみたいで良かった。
phpのインストール
さっきaptで入れたのが7.2.7みたいなので
❯ php -v PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul 4 2018 16:55:24) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies
7.2.8入れたらいいかな?と思って。あと、CakePHPを使いたいのでここを参考にして
[PHP] PHPBrewで複数のバージョンを使い分ける - YoheiM .NET
variantというもの?のphpbrewが用意してくれてるdefaultに、intlとmysqlを足してインストール。
❯ phpbrew install 7.2.8 +default +intl +mysql
結構時間がかかった。
あれ?これビルドが終わるまでPCの電池持つかな・・・?ドキドキ
— Mitsuyuki Shiiba (@bufferings) 2018年8月12日
あ、やばいこれダメだw急に10%くらい減ってしまっった。ビルド中に落ちるやー。
— Mitsuyuki Shiiba (@bufferings) 2018年8月12日
うぉー。残り3%でビルド終わったー。
— Mitsuyuki Shiiba (@bufferings) 2018年8月12日
❯ phpbrew list -v * (system) php-7.2.8 Variants: +intl +mysql +xml +opcache +bcmath +bz2 +calendar +cli +ctype +dom \ +fileinfo +filter +ipc +json +mbregex +mbstring +mhash +mcrypt +pcntl +pcre \ +pdo +pear +phar +posix +readline +sockets +tokenizer +curl +openssl +zip
ε-(´∀`*)ホッ
それをメインに
じゃ、それをメインにしよっと。
~ ❯ phpbrew switch 7.2.8 ~ ❯ phpbrew list * php-7.2.8 ~ ❯ php -v PHP 7.2.8 (cli) (built: Aug 12 2018 15:44:22) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
これで大丈夫そう。
戻すには?
あれ?aptで入れたやつを使うように戻すにはどうするんだろう?と思ったら phpbrew off
で良いみたい。ちゃんと日本語ドキュメントに書いてあったや。ヘルプを見たら off
は一時的に無効化で phpbrew switch-off
がずっと無効化されるみたいね。
~ ❯ phpbrew off ~ ❯ phpbrew list * (system) php-7.2.8 ~ ❯ php -v PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul 4 2018 16:55:24) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies
ふむふむ。満足したので、7.2.8に戻しとこっと。
❯ phpbrew switch 7.2.8
IDEA + PHP Plugin
IDEAのライセンス持ってるので、そこにPHP Pluginを入れといた。
んで、CLIを設定。ここに置いてあるっぽいから
❯ phpbrew list -d * php-7.2.8 Prefix: /home/bufferings/.phpbrew/php/php-7.2.8
こんなんでいいんかな?
CakePHPプロジェクト作成
Cakeのドキュメントを見た感じだとComposerというものを使って作るっぽいので雰囲気でやってみた。
https://book.cakephp.org/3.0/ja/quickstart.html#cakephp
PHPのComposerプロジェクトで
チュートリアルにあるみたいに、cmsって名前のプロジェクトをcakephp/appで作ってみる。こんな感じかな?
さっき設定したphp-7.2.8をinterpreterに選んで、チュートリアルについてた --prefer-dist
ってオプションを足しといた。
しばらく待ったらできたっぽい(∩´∀`)∩ワーイ
起動してみる
むむむ。IDEAからどうやって起動するんだろう?・・・んー、分からんしとりあえず、ターミナルから bin/cake server
でいっか。
(∩´∀`)∩ワーイ
今日はここまでかなー。次は、適当にチュートリアルに沿って進めてみるか。