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

FastCGIに関して

nginxについて学習してきましたが、今回はphp-fpmについてです。 Contents1 そもそもの構成2 CGIのメカニズム3 FastCGI4 nginxでの設定に関して4.1 fastcgi …

no image

mod_aliasに関して

同一ドメインでパスによってルートディレクトを分けたい時。 この場合、apacheの設定ファイルをいじることになります。 一般的にはhttpd.confではなく*.confと言った設定ファイルを使い、エ …

no image

カレントディレクトリ以下のすべてのCR+LFをLFに

windows環境からファイルをアップしていると文字コードがバラバラだったりすることが多々あります。 まあ何がめんどくさいかというと差分がチェックできない。これが最悪です。 gitのdiffコマンドの …

no image

シェルスクリプトテキストファイルから配列&プロセス監視シェル

またまたシェルスクリプトネタなどを。 今回はtxtファイルの文字列を読み込んで配列に入れる処理ですね。 例えば aaa bbb ccc こんな文字列がテキストファイルに格納されていたとして、これを配列 …

no image

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

前回のphpenvがらみの引き続きですが、php5.6と7を共存させ、なおかつWEBアプリで動かす方法を調べたところapacheの複数インスタンスがであれば可能だとのこと。 早速調べなんとかできました …

アーカイブ