フリーランスのお仕事だとレンタルサーバーにWordPressでホームページ作りたいってのがまだまだ多いのです。 MAMPやXAMPPはサーバーもセットで簡単にインストールできるのですが、稀にお客さんの用意しているレンタルサーバーのPHPとMySQLのバージョンが違っていて(古くて)バグを出してしまうということがあるので、自分でバージョンを指定した環境が用意できるようにしておいた方が安全な事が多いです。(本番リリース後、環境依存のバグ辛い!)
PHPのバージョンを管理できるphpenvはrbenvとバッティングするらしくメンドそうだったので、phpbrewを使ってPHPの環境を作ることにしました。
homebrew
,x-code
インストール済み
PHPのビルドに必要なパッケージのインストール
先にhomebrewでPHPのビルドに必要なパッケージをインストールしておきます。
参照: Requirement · phpbrew/phpbrew Wiki · GitHub
$ brew install automake autoconf curl pcre bison re2c mhash libtool icu4c gettext jpeg openssl libxml2 mcrypt gmp libevent $ brew link icu4c $ brew link --force openssl $ brew link --force libxml2
phpbrewのインストール
以前はhomebrewでインストールできたようですが、curl
で直接ダウンロードする方法に変わっていたので、公式のドキュメントを参考にインストールしていきます。
$ curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew $ chmod +x phpbrew $ sudo mv phpbrew /usr/local/bin/phpbrew $ phpbrew init
ダウンロードして、アクセス権を変えて、/usr/local/bin
に移動させて初期化。
~/.bashrc
にを開き下記のphpbrewのパスを追記して保存
# phpbrew
source ~/.phpbrew/bashrc
ターミナルにもパスを反映
$ source ~/.bashrc
phpbrewでパッケージを探すプレフィックスを設定
macports
, homebrew
, debian
, ubuntu
, またはカスタムパスが使える。phpbrewがパッケージを探す時にどれを使うかみたいな感じだと思います。
※ ターミナルにphpbrewのパスが反映されてない状態で実行するとphpbrewコマンドでエラーが出るようになるので注意が必要です。
homebrewをlookup prefixに設定
$ phpbrew lookup-prefix homebrew
PHPのインストール
phpbrewでインストールできるバージョンの一覧を表示
$ phpbrew known
phpをインストール
$ phpbrew install <version> +default
+default
オプションをつけると、もっともよく使用されているバリアント(Variants)をまとめてインストールしてくれるようです。
バリアントの種類を確認する
$ phpbrew variants
バリアントを指定してインストールする場合はPHPのバージョンに続けて+
キーワードを付けて+mysql
のように指定すればOKなようです。
$ phpbrew install <version> +<variant_name>
追記: +default
にはmysqlやapacheに関するものが含まれていないっぽいので、WordPressなどでの使用する場合は+mysql
, +apxs2
, +openssl
のバリアントも指定したほうが良さそうです
$ phpbrew install <version> +default +mysql +apxs2 +openssl
インストールしたPHPを使う
PHPの切り替え (switch version temporarily)
$ phpbrew use <version>
デフォルトで使用するPHPを指定 (switch default version)
$ phpbrew switch <version>
別のターミナルを開いてPHPのバージョンを確認
$ php -v
切り替えたバージョンが表示されていればOKです。
php.iniの設定
php.ini
の場所を調べる
$ php --ini
phpbrewでPHPをインストールした際のphp.ini
の場所は~/.phpbrew/php/php-<version>/etc/php.ini
のようです。
timezone
の設定
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = "Asia/Tokyo"
mysql.sock
の設定
[Pdo_mysql] ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. pdo_mysql.default_socket= /usr/local/var/mysql/mysql.sock [MySQLi] ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. ; http://php.net/mysqli.default-socket mysqli.default_socket = /usr/local/var/mysql/mysql.sock
※ PHP56はmysql.default_socket
、mysqli.default_socket
、pdo_mysql.default_socket
にmysql.sockのパスを追加しました。
composerのインストール
homebrewでcomposerをインストールしておきます。
パッケージのチェック
$ brew search composer
==> Formulae
composer
インストール
$ brew install composer
この後apcheの環境を作ってlocalhostでphpとMySQLが使えるようにしたいと思います。
[参考]
- phpbrew/README.ja.md at master · phpbrew/phpbrew · GitHub
- Requirement · phpbrew/phpbrew Wiki · GitHub
- phpbrew でPHP7 をインストールする。 - Qiita
- phpbrewでphpのバージョン管理をする(Mac向け) - Qiita
- PHPバージョン変更点をピックアップ(5.4.x ~ 7.3.x) - Qiita
phpbrewとphpenvの比較
WordPressユーザーのためのPHP入門 はじめから、ていねいに。[第2版]
- 作者: 水野史土
- 出版社/メーカー: エムディエヌコーポレーション
- 発売日: 2017/03/28
- メディア: 単行本
- この商品を含むブログを見る