#PHPUnitを使ってみよう
調べたらphpStormでphpUnitと書かれている記事ばかりが出てくる...
違うんだよ、phpStormを使わずにやりたいんだよ!
ってことでやってみた。
今回の環境は
windows8
vagrant 1.8.4
Oracle VM VirtualBox 5.0.24
(vagrant,VirtualBoxに関しては最新に乗り換えるのは怖いので古いものを使っています。最新版でも大丈夫なはず!)
CentOS release 6.7
Apache/2.2.15
PHP 5.6.28
PHPUnit 5.6.3
今回はwindowsでvagrantの初期設定が完了した想定で行きます。
設定も知りたい!って人はこちらをどうぞ
それではcentos6でphpunitが使えるようにしていこう!
##CentOSでVimコマンド等が使えない(自分のは使えなかった)ので使えるように!
全てスーパーユーザーで話を進めていきますのであしからず
yum -y groupinstall "Base" "Development tools"
# 依存があれば
yum -y --skip-broken groupinstall "Base" "Development tools"
##時間があってないので合わせる
#/etc/localtimeファイルの設定をしておかないと、日本標準時刻が設定されない。
cp -p /usr/share/zoneinfo/Japan /etc/localtime
#NTPサーバーのインストール
yum -y install ntp
#NTPサーバーの日付を設定
ntpdate ntp.nict.jp
/etc/ntp.confの編集
設定ファイルに、参照するNTPサーバーのIPアドレスをserverオプションで指定する。
vim /etc/ntp.conf
#コメントアウトをつける
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
#コメントアウトした下に記述
server -4 ntp.nict.jp
server -4 ntp1.jst.mfeed.ad.jp
server -4 ntp2.jst.mfeed.ad.jp
server -4 ntp3.jst.mfeed.ad.jp
ntpdデーモンの起動をします。
service ntpd start
#ntpqコマンド(オプションについてはここを参照)でNTPサーバが動作しているかを確認できる。
ntpq -p
#自動起動設定をしておく
chkconfig ntpd on
chkconfig --list ntpd
#下記のようになっていればOK
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
#dateで確認してみる
date
Tue Nov 15 13:18:35 JST 2016
これで大丈夫かな!
##Apacheをインストール
ApacheのインストールしかまだしたことないのでApacheを使います。
(そのうち、nginx使ってみたい(º﹃º ))
yum -y install httpd
#Apache バージョン確認
httpd -v
centos6.7はデフォルトはApache2.2です、
centos7になるとApache2.4になるので記述の仕方が変わるのでご注意を。
インストールしたままだとvagrantで共有フォルダが反映されないことがあるので以下を修正しましょう。
vim /etc/httpd/conf/httpd.conf
// 以下修正
<Directory /path/to/public_html>
EnableMMAP Off
EnableSendfile Off
</Directory>
これで使えるようになるはず!
httpdを起動とhttpd自動起動設定をしておきましょう。
#httpd起動
/etc/rc.d/init.d/httpd start
#httpd自動起動設定
chkconfig httpd on
#自動起動設定ができているか確認
chkconfig --list httpd
#下記のようになっていればOK
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
##PHPをインストール
さぁ、やってきました!
それでは、いってみよう!
epelとremiのリポジトリを使うので追加します。
rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
これでOK
yum listで提供されているパッケージを確認したい!って人のために。
yum list --enablerepo=remi --enablerepo=remi-php56 | grep php
それではphpをインストール!
yum install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof
インストールが終わったらバージョン確認しましょう。
#php バージョン確認
php -v
#phpunit バージョン確認
phpunit --varsion
###php.iniを編集
ここら辺はしといた方がいいかと
#バックアップを作成
cp /etc/php.ini/ /etc/php.ini.org
#編集していく
vim /etc/php.ini
#以下を変更
;error_log = php_errors.log
|
error_logs = /var/log/php_errors.log
;mbstring.language = japanese
|
mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
|
mbstring.internal_encoding = UTF-8
;mbstring.http_input = auto
|
mbstring.http_input = auto
;mbstring.detect_order = auto
|
mbstring.detect_order = auto
expose_php = on
|
expose_php = off
;date.timezone =
|
date.timezone = Asia/Tokyo
httpdを再起動
/etc/rc.d/init.d/httpd restart
これで確認がとれます。
##それではphpUnit試してみよう!
cd /vagrant
vim SampleTest.php
ファイルを作成してその中に
<?php
Class SampleTest extends PHPUnit_Framework_TestCase
{
/**
* @test
*/
public function 試しに実行してみる()
{
$this->assertTrue(true);
}
}
phpファイルを作成し終わったら早速テストだ!
phpunit SampleTest.php
#下記結果
PHPUnit 5.6.3 by Sebastian Bergmann and contributors.
. 1 / 1 (100%)
Time: 112 ms, Memory: 3.25MB
OK (1 test, 1 assertion)
キタ――(゚∀゚)――!!
これで完了です。
それではみなさん、楽しいphp生活を!