joppot

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

サーバ

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

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


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のs3を操作する為のaccess keyとsecret keyを取得する(IAM)

概要 皆さんこんにちはcandleです。今回はrailsやphpからS3にファイルをアップロードしたりする権限を取得する方法を紹介します。一般にS3にファイルをアップロードしたり削除するにはアクセスキ …

td-agentでRails 5のproduction.logを取得する

English 日本語 概要 みなさんこんにちはcandleです。 今回はrails 5のproduction ログをtd-agentで取得してみたいと思います。 rails5からログのフォーマットが …

出力fluentdから収集fluentdへforwardを使ってログデータを送信する方法

概要 みなさんこんにちはcandleです。今回はfluentdサーバを2台使って、ログの収集を行ってみたいと思います。サーバ2台はどのような環境でも良いのですが、私が今回説明する環境は1つはMac P …

ruby on railsのbundleのGemfileでインストールしたgemを削除する

概要 みなんさんこんにちはcandleです。今回は間違って入れてしまったり、不必要になったgemの削除のやり方を紹介します。 前提 ruby on railsの環境が整っている gemの概念を理解して …

pythonのfabricでファイルを分割しfabfileに読み込む方法

概要 皆さんこんにちはcandleです。今回はfabricで分割したpythonファイルを読み込んでみましょう。 fabricはfabfile.pyというファイルに実行したいコマンドを書くのですが、 …

  • English
  • 日本語

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