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

Perlワンライナー他

Perlではcgiと連動してWEBアプリケーションを作るケースが多いですが、元々テキストの編集や置換が非常に便利です。 例えば、あるディレクトリにある特定のファイル名(正規表現使用可)だけを抽出する場 …

no image

heroku scheduler(cron的なもの)

herokuでアプリをデプロイしたあと定期的に走らせたいバッチなどがあるとき、cronを使うことを考えると思いますが、herokuではheroku Schedulerというアプリを使います。 hero …

no image

キャッシュについて(主にmemcachedを中心に)

Webサービスのパフォーマンス向上で目に見えて効果があることの一つがDBへのアクセス回数を減らすことです。 それはSQLを発行する回数を少なくするなど、普段からのプログラムの書き方ももちろん大事なので …

no image

zabbixについて 

現在、携わっているプロジェクトでサーバー監視をする必要性がでてきたので、監視ツールについていろいろ調べとります。 Contents1 サーバー監視とは2 サーバー監視ツールとは3 おおまかなイメージ4 …

no image

PHP7に関して

先週きづいたのですが、PHPが5.6から7になりましたね。 まあ当分はまだPHP5で開発していきますが、herokuがいきなり7になり、アプリが動かないということが起こりました。 7対応させたかったん …

アーカイブ