joppot

コピペで絶対動く。説明を妥協しない

サーバ

cakephp2系にphpunitとDebugkitをcomposerを使って最速で導入する

投稿日:2014年12月23日更新日:

Pocket

rjiioj

概要

みなさんこんにちはcandleです。今回はcakephp2.4以降でphpunitとdebugkitをcomposerを使って導入してみたいと思います。
cakephpは標準でphpunitを使ってテストをします。

導入を簡単に素早くやってみましょう。
今まではpearや手動でやっていたのですが、これがcomposerを使う事で簡単に出来る様になりました。

前提

cakephp2.4以降のプロジェクトがある
私は最新のcakephp2.5.6を使用します。

composerがインストールされている


composer.jsonを確認する

cakephpプロジェクトにcomposer.jsonがあるか確認します。
これは自分で作成するのではなく、標準で準備されています。

jsoncomposer

composer.jsonの中身をエディタで見て、phpunitのバージョンが3.7あたりである事を確認します。

これは他の記事にあったのですが、cakephp2.4~2.5あたりではまだphpunit3.7.*でないと動かないらしく、それ以降のバージョンだとエラーがでるとか。

composer.jsonには既に「3.7.*」と記入されています。

phpunitversion37


composerのインストール先を変更する

composerのライブラリのデフォルトの保存先はvendorです。
何も設定しないでライブラリをインストールするとvendorフォルダが作成されてそこに保存されます。

しかし、cakephp2.5.6ではあらかじめ「vendors」というフォルダが用意されています

vendoersisgood

composer.jsonを編集してvendorsに保存する様に設定します。

composer.json開き、最初の { 内ならてどこでも良いので下の記述を加えます。

  "config": {
      "vendor-dir": "vendors"
  },

私はlisenceの項目の下の記述しています。

composervendeorpathset

次にプラグインの保存先を変更します。composerでプラグインを特に設定しないでインストールすると、Pluginというフォルダが作られて、今回の場合ですとdebugkitがそこに保存されます。

cakephp2.5.6ではすでにpluginsというフォルダが用意されているので、そちらに保存される用に設定します。

pluginsfolder

下の記述をcomposer.jsonに加えてください。場所はどこでも良いのですが、私は
require_devの当たりに書きます。

 "extra": {
    "installer-paths": {
      "./plugins/{$name}/": [
        "cakephp/debug_kit"
      ]
    }
  },

pgluinpathdebugkit

これでcomposerの設定が終わりました。

phpunit3.7.*とdebugkitをインストールする

それではphpunitとdebugkitをインストールしてみましょう。

composer.jsonがあるフォルダで下のコマンドを実行します。

composer install

するとcomposer.jsonをもとに自動的にライブラリがインストールされます。

注釈として、/var/www/などにcakephpを配置し、フォルダ管理者をapacheにしている場合は権限関係でインストールできません。そこで、一度下のコマンドで管理者をログインユーザーに変更してから上のcomposer installを実行してください(インストールができたらかならず管理者をapacheに戻してください)。

sudo chown -R `whoami` /var/www/cakephp/
composer install
sudo chown -R apache /var/www/cakephp/

installphpunit

vendorsフォルダの中にphpunitが保存されます。

cakephpphpunitvendors

インストールが終わると、cakephpプロジェクトにvendorsというフォルダにphpunitが保存されます。
そして、pluginsの中にdebugkitが保存されます。

これでインストールは終わりました。

debugkitの読み込み設定をする

pluginsに保存されたdebugkitを読み込む為にapp/Config/bootstrap.phpを開きます。
どこでもよいので、下の一行を加えましょう。

CakePlugin::load('DebugKit');

loaddebugkit
これでdebugkitが呼び出されます。

テスト画面にアクセスして確認する

確認する為にapacheサーバを起動して、テストページに飛びましょう。

sudo service httpd start

まずはトップページに行きます。
もしも、debugkitの項目が緑色になっていれば正常に呼び出されています。

safepagesatus

テストページはだいたい

http://IPアドレスかホスト名/test.php

でアクセスできます。

nonerrortestpage

エラーが出ていなければ成功です。
phpunitが導入できました。

まとめ

composerはやっぱり便利ですね。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-サーバ
-, ,

執筆者:


comment

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

関連記事

AWSのLoad Blancer越しのアクセスをapacheのカスタムログを使用して取得し、かつfluentdで取得する方法

概要 みなさんこんにちはcandleです。今回はELB越しのapacheのアクセスをカスタムログを使用した場合にfluentdで如何にして取るかを紹介します。 fluentdがapacheのacces …

ec2のメモリ状態をwatchとfreeで監視する

English 日本語 概要 みなさんこんにちはcandleです。今回はec2のメモリをリアルタイムで監視する方法を紹介します。 ec2サーバはt2.microだとメモリが1GBしかなく、その上でco …

fabricでvagrantのデフォルトの秘密鍵を使ってサーバにアクセスする

概要 みなさんこんにちはcandleです。今回はfabricを使ってvagrant上のvmにアクセスする方法を紹介します。様々なサイトを閲覧すると、あまりvagrantのデフォルトの鍵を使用して、fa …

fluentdのs3 pluginを使用して日付区切りでログデータをS3に送信する

概要 みなさんこんにちはcandleです。今回はfluentdのs3プラグインを使用して、railsなどのログを日単位でS3に投げる方法を紹介します。もちろん、応用して年単位とか月単位、時間単位で区切 …

railsのfluent-logger gemを使ってユーザーのアクセスをfluentdサーバに収集する

概要 みなさんこんにちはcandleです。前回からfluentd関連の記事を続けていますが、今回辺りから実用的な使い方を書いていきたいと思います。 fluentdと言えば、ビックデータで扱うようなデー …

  • English
  • 日本語

プロフィール


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー

スポンサードリンク

アーカイブ