*

Mac OS X (Yosemite) にLaravelをインストール

公開日: : 投稿者:raru php, web技術

Max OS 10.10(yosemite)にPHPフレームワークのLaravelをインストールしてみました。

以前までFuel PHPなどが最近有名だなぁと感じていましたが、2014の春頃からlaravelというフレームワークが一気に浸透してきたようです。
簡単に調べてみたところLaravelはsymphony2をベースにお手軽感を強化した感じらしいです。

お手軽といっても大規模には耐えられないとかそういうものでもなさそうです。
最近の人気の加速振りからして、わりと融通の効く良いフレームワークなのではと期待しています。

symphonyは以前の評判ではやや重厚すぎて、これjavaでいいじゃん、という意見も聞きました。
ただversion2からわりと扱いやすくなったとの意見も見つけたので、今は違うのかもしれません。

私はPHPには疎く、フレームワークも使ったことがなく自分でなんちゃってフレームワークを作ってみた程度しか触ったことがありませんから、あまり信憑性はないです。

Composerのインストール

Composerとはrubyでいうbundlerのようなものらしく、プロジェクトごとでのモジュール管理を行うパッケージ管理ツールになるようです。
今回はhomebrewを利用してインストールを行おうと思います。

homebrewインストール

macにはmac portsとhomebrewというパッケージ管理ツールがありますが、homebrewが一般に使われています。
もう具体的に思い出せませんが、過去portsを利用していた時に、portsはuninstall周りの動きがやや微妙で環境が汚くなりがちだった、という記憶があります。

またcommand line toolsがインストールされていないと落ちるので、まずはそちらをインストールしましょう。
ダウンロードはappleのこちらから行います。
ダウンロードを行うのはOSにより変わりますがyosemiteの場合には「Command Line Tools (OS X 10.10) for Xcode」になります。

command line toolsがインストールできたらhomebrewのインストールを行います。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor
brew update

以上でbrewのインストールは終わりです。
ちなみにbrewでインストールされたものは/usr/local/binにインストールされるようです。

composerのインストール

homebrewをインストールしたら、composerをインストールしていきます。

# homebrewというアカウントでgithubに登録されているhomebrew-dupesというリポジトリ?をbrewに追加
brew tap homebrew/dupes
brew tap homebrew/php
brew install composer
==> Installing composer from homebrew/homebrew-php
composer: Missing PHP53, PHP54, PHP55 or PHP56 from homebrew-php. Please install one of them before continuing
Error: An unsatisfied requirement failed this build.

# せっかくなので最新を入れる
brew install php56
brew install composer

そのままインストールを行おうとすると、phpがないよ! という旨のエラーが発生します。
これはmacに最初からシステム全体にインストールされているPHPとは別に、brewで扱うPHPを要求されているという意味かなぁと思っています。
そこで先ほで追加したhomebrew-phpからhomebrewで使うPHPをインストールします。

ただどちらかというとbrewで入れるcomposerはhomebrew-phpからインストールされるphpを利用するようにPATHが設定されているから、そのPHPをインストールしてね、というのが正しいかもしれません。

なにはともあれ、これでcomposerがインストールされます。

Laravelプロジェクトの作成

composerを利用してLaravelのプロジェクトを作成します。
これにより、新しく作成するプロジェクトフォルダ内でモジュールが完結します。
システム全体の環境を汚さなくて済む、というわけですね。

# 今回は開発お試し用でapacheを設定するのが面倒なのでMAMP常に直接プロジェクトを作成
cd /Applications/MAMP/htdocs/

# your-project-nameを自身の作成するプロジェクト名へ
composer create-project laravel/laravel your-project-name --prefer-dist
.
.
.
Fatal error: Allowed memory size of XXXXX bytes exhausted (tried to allocate YYYYY bytes) in phar 

# 600MBくらいメモリ用意しなさいというエラーが出ていたので1GBほど与える
cp /usr/local/etc/php/5.6/php.ini /usr/local/etc/php/5.6/php.ini.org
vi /usr/local/etc/php/5.6/php.ini
diff /usr/local/etc/php/5.6/php.ini.org /usr/local/etc/php/5.6/php.ini
396c396
< memory_limit = 128M
---
> memory_limit = 1024

composer create-project laravel/laravel your-project-name --prefer-dist
.
.
.
Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-install-cmd event returned with an error

# mcrptのパッケージを確認
# mcryptというものもあるが、これではなく先ほどインストールしたphpに対するmcryptを入れる
brew search mcrypt
brew install php56-mcrypt

# インストールしたの改めてプロジェクトを作成	
# 成功したときに出るアプリ鍵はオート認証に利用されているっぽい以下参照
# http://www.1x1.jp/blog/2014/04/lararavel-artisan-should-know-auto-login-by-auth.html
composer create-project laravel/laravel your-project-name --prefer-dist

まずphpで利用可能なメモリが足りないとエラーが出るのでphp.iniを編集してmemory_limitを増やしました。
その次に、mcryptモジュールが足りないということでそちらをインストール。

改めてインストールを行うことで無事に完了、これで環境ができましたね。

関連記事

no image

Javascript パターン

最近更新を行なえるほど技術を追っていませんが、日々の電車での移動時間に本を読んでいます。 2駅乗っ

記事を読む

no image

PHPのcURLを利用してAPIをGET/POSTで叩く

PHPからcURLを利用してhttpのget, postで問い合わせを行ってみます。 今回はYAH

記事を読む

no image

WebRTC + Node によるルーム機能付きビデオチャット 1

現在googleで調べても日本語では微妙にかゆいところに手が届かないWebRTCと Socket.

記事を読む

no image

IEとchromeでbeforeunloadをaタグのhrefに反応させずに利用……できなかった

今回beforeunloadが面倒な動きをしていたので調査&ある程度都合よくしてみました。 してみ

記事を読む

no image

Facebookから日本語でデータ取得 (※だたしlocationは除く

Facebook Graph APIを通して取得したデータがローマ字や英語で困ることがあります。

記事を読む

no image

socket.ioとwebRTCでビデオチャット

現在作成したいものがあるために、その予行演習として nodeのsocket.ioとwebRTC機能

記事を読む

no image

Facebook APIを試してみました

Facebook APIが気になったのでちょっと試してみました。 まず私が勘違いしていたこと

記事を読む

no image

要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。

wordpressの更新を行おうとした時の上記のエラーが発生した場合に、いくつか対策方法があります。

記事を読む

no image

Laravelでbladeを利用したViewを作成

今回はLaravelで採用されているviewテンプレートのBladeを利用して画面を作成してみます。

記事を読む

no image

Node.jsのSocket.io入門

前置き WebRTCを使用して通信を行なうときに、offerなどの情報を伝える為にサーバサイドのプ

記事を読む

Message

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

PAGE TOP ↑