skillup

技術ブログ

サーバー・ネットワーク

環境構築の手法について

投稿日:2019年9月15日 更新日:

2019年9月現在、PHPは7系(最新は7.3)を使うことが一般的ですが、たまにレガシー案件などでPHP5系を使ったりすることはあります。

まあ7系でも7.0じゃ動かないとか色々な制約あるんですけど・・・

その時にローカルでの環境構築が色々大変だったので、手法別にメモしておきます。

どの手法もそれぞれめんどいです(汗)

phpenv+phpbuild

別バージョンのPHP自体を自分のローカル環境に入れる方法です。コマンドラインやバッチ系のみであればこれが楽かもしれません。

難点としてはPHPの場合、画面から確認するケースがほとんどなのでapacheの設定もいじらないといけないことやその他のライブラリのバージョン状態も影響してくるのでその時にこけることが結構あったりします。

参考リンク

phpenv+php-build 複数のPHPのversionを使いわけ

apacheで複数インスタンスの起動

Vagrant+Virtualbox

昔からある仮想環境構築ツールです。現在のパソコンの中に別OSを入れるようなものですので、外部は一切干渉を受けません。

その開発環境のvagrantイメージを持っている方などがいる場合にはこれを入れれば最短で環境構築が可能です。

その場合、開発が楽ですし、内部での影響を一切受けないのですが、メモリ+HDをかなり使います。メモリは2Gぐらいが一般的ですかね。

HDはvagrantイメージにもよりますが、5〜10Gぐらいを使うことが多いため、複数のvagrantを入れておくなどはあまり現実的出ないかもしれません。私は2つ入れた時点で容量オーバー寸前まで行きました。

メモリ自体が2Gと少ないことが多いので大きいメモリを食うような処理だと止まることもあります。特にcomposerでのインストールで何度か痛い目にあいました(汗)。

参考リンク

vagrantの記事

docker

vagrantとは違った仮想環境ツールです。

vagrantのようにPC全体でなく、ミドルウェアの仮想化の部分らしいので、かなり軽量です。(数秒で起動可能)

HDの容量もvagrantほど食いませんので複数の環境をガンガン入れたりすることは可能ですし、色々なバージョンのテンプレートのようなものが結構用意されているので目的の環境を復元できます。

ただ学習コストがやや高く、慣れるまで結構難しい印象です。メモリ自体も小さいのでメモリをかなり使うような作業だと止まります・・・

参考リンク

dockerの記事

-サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

大規模Webサービス技術入門 DBの分散

前回に引き続き、大規模サービスを運用するときに必要になるMySQLの知識についてのまとめ Contents1 テーブル・SQL設計2 レプリケーション機能3 パーティショニング テーブル・SQL設計 …

no image

正規表現その2

10/28に書いた正規表現に関しての追記です。 Contents1 覚えておきたいメタ文字2 留意点 覚えておきたいメタ文字 よく出るメタ文字の復習です。 メタ文字 メタ文字の説明 [] いずれかの1 …

no image

docker メモ

まだ数時間しか触ってませんが、なんとなくのイメージなど Vagrantと違いOSではなく主にミドルウェア(httpd,mysqlなど)を手軽に構築する仮想環境ツール Linuxの中でしか動かない 起動 …

no image

dockerでの環境構築 〜コンテナ作成し、実作業ができるまで(mac編)

今や環境構築の保存や移行などが比較的自由にできるようにはなってきていると思います。 自分の場合は未だにvagrantのイメージフォルダを移行してやっていますが(汗)。 参考リンク vagrantで仮想 …

no image

herokuでMySQL

昨日に続き、heroku+MySQLのメモです。 herokuはディフォルトではPostgreSQLですが、アドオンを使うとMySQLも使えるようになります。 使い方ですが、herokuの管理画面でク …