(社内新卒・PHPビギナー向け)MacでPHP7開発環境を構築しよう!


はじめに

みなさんこんにちは、プロダクト開発本部の亀梨です。
普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う
統合プラットフォームの開発を担当しています。

えっ!?新卒のプログラミング研修はPHPで行われるって?!俺の得意言語やないか!!

はい、ということでいきなりですがこの記事を書くことになった動機です。
時節的にDACにもたくさんの新卒の方々が入社され、1ヶ月の新卒研修を終えて我らプロダクト開発本部にもエンジニア志望の優秀な面々が配属されてきました。
そこでプログラミング研修をPHPで行うって聞き、居てもたってもいられなくなった次第でw。

普段XmediaOneの開発言語はScalaなのですが、わたくし以前の会社で3年間PHPで開発を行っておって、
かつ人生で初めて出会ったプログラミング言語がPHPなので思い入れもひとしおなわけで。

というわけでさっそくいってみよー!

ではさっそく開発環境構築

まずはプログラミング初心者には事前知識がいろいろと必要なのですが、
論より証拠と言いますか、習うより慣れろといいますか、わたくし自身が文系のため頭で考えるより体に叩き込んで覚えるスタイルを取っているので、
いろいろすっ飛ばして環境構築を進めます。

弊社ではエンジニアにMacBook Proが支給されます。
このMacですが、始めからPHPがインストール済みではあるのですがバージョンが古いことがあります。
5.5とか5.6とか。

現在のPHPは最新バージョンが7.1で、最近のPHP関連の書籍も7系を前提に書かれていることが多いので、
バージョンをアップデートしておくことは必須となります。

Homebrew(パッケージ管理ツール)を使ってPHP7系をインストール

PHP7系をインストールするためには様々な方法があるのですが、ここでは Homebrew というツールを使う方法を取ることにします。
Homebrewの概要とインストール方法は、こちらの記事を参考にしてみてください。

ではHomebrewがインストールされている前提で、ターミナルからPHP7系をインストールします。
ターミナルとは?という方はこちらの記事に分かりやすい解説が載っています。

以下コマンドを打ってエンターで実行。

次にインストールしたPHP7の起動設定を行ないます。

さらに、環境変数にインストールしたPHPのパスを設定しておきます。
環境変数とは?という方はこちらの記事を参照。

ここまできたらPHPが正常にインストールされているか確かめてみましょう。
以下コマンドを実行。

はい、バージョンが7.1~となっていますね。これでOK。

Webサーバー:Apacheの設定

お次はPHPをローカル環境で使うために、Macに標準でインストールされているApacheにPHPの設定を行いましょう。
Webサーバーとは?Apacheとは?という方は、こちらの記事を参考に。

普段わたし達がPCやスマートフォンで様々なWebサイトを閲覧する際は、Google ChromeやMacのSafari、MozillaのFirefox等ブラウザを使って
インターネットを経由して各企業のWebサーバーにアクセスしてWebサイトのページを取得してきています。
この仕組みはローカル環境でも一緒なので、WebサーバーであるApacheの設定が必要になります。

ではでは再びターミナルを開いて、Apacheの設定ファイル: httpd.conf を更新します。
httpd.confファイルは、/etc/apache2/ 配下にあります。
このファイルは重要な設定ファイルのため、はじめにバックアップを別で取っておいた上で、既存のファイルに設定を追記します。
またこのファイルは管理者権限でなければ変更ができないため、sudoコマンドを使ってvimエディタにて開きます。

管理者権限とは?sudoコマンドって?vimって?という方はこちらの記事こちらの記事を参考に。

上記を保存したら、その設定を反映させるためにApacheを再起動しましょう。

設定完了!果たしてPHPは正しく動くのか…?!

では最終確認と行きましょう。ローカル環境のデフォルトのドキュメントルートは /Library/WebServer/Documents/ 配下となります。
この配下に.phpファイルを配置します。

そして、好きなブラウザでURL欄に「localhost/phpinfo.php」と入力してエンター!…すると、

はい大成功…となりましたでしょうか?
これがうまく表示されていれば、あとは/Library/WebServer/Documents/配下に好きなように.phpファイルを入れて、
ブラウザで「localhost/<ファイルのパス>」でアクセスすれば画面上で出力結果が確認できます。

日々勉強した内容だったり、ちょこっとコードを試し書きなんて時このローカル環境でテストしていけばよいかと思います。

本日の講義はこれまで!w

以上となります。かなり駆け足で前提知識をすっ飛ばしての説明となりましたので、
不明点がある方はコメントor社内の方は直接亀梨に連絡もらえればと思いますw

まずは今回構築したローカル環境でいろいろ試しつつ、今回の記事中に出てきたターミナル(CLI, シェル)やvimエディタについて勉強してみたり、Webサーバー等開発環境について勉強してみたりと派生していっていただければと思います。

また何かPHP or プログラミング初心者向けの記事を思いついたら随時投稿させていただきます。
リクエストもコメントor社内の方はメール等でお待ちしていますよ!それではまたー\(^o^)/


DACエンジニア採用情報

  関連記事

【未経験からのRuby on Rails – 第2回】Rubyのプログラムを書いてみる(Mac)

こんにちは。新卒1年目のmatsuariです。 前回はRubyとは何か、簡単にご紹介をしましたが、 今回は実際にRubyファイルを作成して、プログラムを書いてみるところまでご紹介していけたらと思います。 Mac環境のプログラミング初心者向けです。 はじめに、Rubyのプログラムを書くためのファイルを …

Bootstrapのモーダル機能で多重表示する際に解決しなければならない2つの問題

はじめに みなさんこんにちは、プロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発・保守を担当しています。 エンジニアの皆さん、デザインってどうしてます? わたくしはプライベートでとあるW …

ナイーブベイズで羽生さんと羽生くんを分類してみた

はじめに こんにちは。システム開発部の中村です。 機械学習についての理解を促進するため、 データから分類モデルを自動で構築する古典的な方法である、 ナイーブベイズ分類器を実装してみました。 最近はCloudVisionAPIなど専ら画像解析が流行っていますが、 自分のような初学者には敷居が高そうだっ …

ECMAScript6を使ってみた ~「Promise」編

ECMAScript6とは 一応ちょっとだけ説明しておくと、 ECMAScript(エクマスクリプト)は、Ecma Internationalによって標準化されたスクリプト言語で、バージョン6が2015 年 6 月 17 日に標準仕様として発行されました。(以下、ES6と呼びます) ES6ではcon …

no image
【小ネタ】Javascriptのconsoleオブジェクトをもっと便利に使う方法

すごく便利なconsoleオブジェクトですが、ブラウザによってサポートされているメソッドが なかったり、そもそもconsoleオブジェクトが使えなかったりと、たまに不便だったりします。 そんなときによく使う便利なコード。 [code language=”javascript” …

初心者がRailsで開発 – deviseでユーザー認証設定 –

こんにちは、2年目のYukaです。 開発部所属でありながら実は、、 実際に自分で手を動かして開発する機会がなかなかありませんでした。。 しかしついに、、、 開発初心者がRailsでWebアプリの開発に挑戦します!! 今回のゴールは社内でも使用しているGoogleアカウントで簡単にログインができるよう …

iOS端末情報をTreasureDataに送るアプリをswiftで作ってみた。

はじめまして、2年目のOyamanです。 通常業務とは別のことになりますが、Swiftに触れる機会が少しあったので、スマホ関連の記事を書かせていただきます。 はじめに SwiftとTreasureDataのSDKを使って、 iOSの端末情報をTreasureDataへ送るアプリを作ってみます。 今回 …

【未経験からのRuby on Rails – 第3回】変数と定数

こんにちは。新卒1年目のmatsuariです。 今回はRubyに限らずプログラミングを学ぶ上で非常に重要となる「変数と定数」について、ご紹介していきます。 変数とは・・・ オブジェクトを一時的に格納しておく箱で、オブジェクトを識別するために利用します。 言葉だけでは理解が難しいかと思いますので、まず …

D3.jsとその活用事例について

D3.jsとは? D3とは「Data Driven Document」の略で、データに基づいてドキュメントを操作するための JavaScript ライブラリです。 ご存知の方も多いと思いますが、ちょっとだけD3.jsの基本的な使い方、そして弊社プラットフォームでの利用についてご紹介したいと思います。 …

PyStanによるはじめてのマルコフ連鎖モンテカルロ法

はじめに こんにちは。システム開発部の中村です。 社内で行っている『データ解析のための統計モデリング入門』(所謂緑本)の輪読会に参加した所、 大変わかりやすい本だったものの、Macユーザには悲しい事に実装サンプルがWinBUGSだったため、 9章の一般化線形モデルのベイズ推定によるアプローチをPyt …