今更CentOS5+PHP5.1な環境にphpunitを入れる

保守等で現役だったりする、CentOS5+PHP5.1。

テストでSelenium(Selenese)を使うのに、外部サーバを使うのも面倒なので、CentOS5+PHP5.1な環境にphpunitを今更ながら入れてみました。
今のphpunitはPHP5.1では使えないので、epelのパッケージを利用してみます。

yum -y install epel-release
yum -y install php-pear-PHPUnit
pear upgrade pear

pearを実行しようとするとエラー。何故かパスが通っていないので、php.iniへ追加。

include_path = "[現在のPath]:/usr/share/pear"

これでpearはOK。

古いphpunitだとSeleniumの実行にインクルードが必要らしいので、
Selenium IDEからPHPUnit形式でエクスポートしたtest.phpに一行追加。
https://phpunit.de/manual/3.3/ja/selenium.html

require_once 'PHPUnit/Extensions/SeleniumTestCase.php'; // 追加行
class Example extends PHPUnit_Extensions_SeleniumTestCase

実行しようとするとSeleniumのクラスがcould not be foundになります。

phpunit test.php

phpunit3.4辺りでfixしてるようなので、githubから3.4を持って来て上書きしてしまいます。
https://github.com/sebastianbergmann/phpunit/tree/3.4

# rpm経由のphpunitを退避
mv /usr/share/pear/PHPUnit /usr/share/pear/PHPUnit-3.3.5
mv /usr/bin/phpunit /usr/bin/phpunit-3.3.5
# 3.4で上書き
unzip phpunit-3.4.zip
cd phpunit-3.4
mv PHPUnit /usr/share/pear/
cp phpunit.php /usr/bin/phpunit

実行。
取りあえずこれで目的のSeleniumは動いたので、良しとします。

Facebooktwitterlinkedintumblrmail

URLを統一したくなったので.htaccessで301リダイレクト

自社サイトにWOVN(https://wovn.io)を導入してみました。

http://www.lancard.com/ にアクセスすると右下にウィジェットが表示されていると思います。今のところほぼ機械翻訳なのでご笑覧ください(ランカードコムが orchid card com と訳されているところに気づいたら直したくらい)。

そんなわけでWOVNの管理ページを見ていたら http://lancard.com/ でのアクセスや http://www.lancard.com/work/index といったindex付きのアクセス(拡張子無しのindexなのはBaserCMS絡みです)が結構あって、URLを統一しないとアカンなぁと思ったのでした。SEO的にも統一したほうが良いとは聞きますし。

Apacheで動かしてるので.htaccessでどうにかします。
www付きに統一して、indexは無しという方針。

RewriteEngine on
#www付きに統一
RewriteCond %{HTTP_HOST} ^lancard\.com
RewriteRule (.*) http://www.lancard.com/$1 [R=301,L]

#indexなしに統一
RewriteCond %{THE_REQUEST} ^.*/index
RewriteRule ^(.*)index$ http://www.lancard.com/$1 [R=301,L]

#BaserCMS
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]

こんな感じになりました。

Facebooktwitterlinkedintumblrmail

RoundCube用にCentOSのpostfix+dovecotで簡単なテスト環境を作る

RoundCubeは設定出来たけど、メールサーバが設定出来なくてテスト出来ない。
localhost内でやり取りする程度で十分だけど・・・そんな人へ。

実験したのはCentOS6です。
DovecotもPostfixもデフォルトの設定を利用するのであれば、設定は1,2項目で済みます。

この投稿の続きを読む »

Facebooktwitterlinkedintumblrmail

PHP カンファレンス福岡に(ry

行ってきました。shun です。
ひと月以上前に参加登録が始まった当初からいつかやらなければと思っていたんですが結局時間を作れず、php 無知なまま出発しました。そう私、実は php 経験が無かったのです…!(続く)

この投稿の続きを読む »

Facebooktwitterlinkedintumblrmail

PHPカンファレンス福岡2015 に参加しました

murave@プレモル1本目です。

2015年6月27日に開催された PHPカンファレンス福岡2015 に参加しました。

http://phpcon.fukuoka.jp

私が参加したのは以下の通り。

・開会式・スポンサー紹介
・基調講演「全てを結ぶ力」(郡山 昭仁 @koriym)
・あなたと秘伝のタレ mid 2015 (石田 絢一 @uzulla)
・10年超えるサービスのphpバージョンを4から最新にする話 (小田 知央 @linyows)
・CakePHP3ウォークスルー (長谷川 智希 @tomzoh)
・CodeIgniter update (宮川 貴子 @NEKOGET)
・Laravel5を使って開発してみた (野田 健夫)
・Phalcon PHPフレームワーク Sense of Use (近藤 和宏)
・CakePHPを業務で使ってみた(7年ほど) (小山 健一郎 @k1LoW)
・インフラエンジニアからレガシーPHPへのレイヤーアップ (山下 和彦)
・レイヤードアーキテクチャを意識したPHPアプリケーションの構築 (新原 雅司 @shin1x1)
・ライトニングトーク
・閉会式

この投稿の続きを読む »

Facebooktwitterlinkedintumblrmail

PHPカンファレンス福岡2015 After Hack にいます

Fusicさんで開催されている『PHPカンファレンス福岡2015 After Hack』にいます。

https://fusic.doorkeeper.jp/events/26357

Fusicさん提供の電源、ネットワーク、コーヒー、ビールで『PHPカンファレンス福岡2015』のブログを書こうと思ってやって来ました。

この投稿の続きを読む »

Facebooktwitterlinkedintumblrmail

Future Sync Vol.5 に参加しました

2015年5月16日に開催された Future Sync Vol.5 に参加しました。
あれからもう一週間たってしまいました。遅くなりましたが感想などを。

私が参加したセッションは以下の通り。

・複雑に絡み合ったユーザーの思いを「ともにデザイン」するインクルーシブデザイン (平井康之)
・Blockchain 〜ビットコインを支える技術〜 の現在と未来 (栗元憲一)
・ウェアラブルからシンギュラリティへ (塚本昌彦)
・脳がシビれる心理学 (妹尾武治)
・世の中をザワつかせる方法 (眞鍋海里)

この投稿の続きを読む »

Facebooktwitterlinkedintumblrmail

baserCMS 3.0.7 でカテゴリ名、簡単に取れました

muraveです。

チョイ前の記事

baserCMSを3.0.2から3.0.7へ。ところでカテゴリ名ってまだ簡単に取れないんです?

で、タイトル通りの疑問を書いてましたら親切な匿名の方からコメントで情報を頂きました。

曰く、$category = $this->BcPage->getCategory(); echo h($category[‘title’]);

$categoryへの代入等はこちらで追加させてもらいましたが、確かにこれです!

ありがとうございます。

てなわけで、getCategory関数を使用してのカテゴリーのタイトル取得は以下のようになりました。

//カテゴリーのタイトルを取得
$category = $this->BcPage->getCategory();
$product_title = $category['title'];

真っ当感、ありますな。

ところで、このgetCategory関数のリファレンス、http://wiki.basercms.net/関数リファレンス/getCategoryにあったんですが、用例が変ですね。

BcPage->getCategory() ?>

でカテゴリー名が出力されるように読めるんですが、getCategory関数の返り値はarrayですのでそのままechoしちゃだめです。

Facebooktwitterlinkedintumblrmail

『Laravelエキスパート養成読本』献本いただいたのでキャンプへGO!

muraveです。Laravel(4系)には平素よりお世話になっております。

待望のLaravel本『Laravelエキスパート養成読本』が4月21日に技術評論社から発売されます。

著者のお一人、Laravel答えるマンことlocaldiskこと松尾大さんから献本いただきました。ありがとうございます!

先週の木曜日午後に届きまして、翌日、とても晴れていたので、休みを貰ってキャンプに行きました!(謎)

この投稿の続きを読む »

Facebooktwitterlinkedintumblrmail

vagrant rsync-auto で rsync__exclude を変更しても反映されない場合

murave@歯医者さんから定期チェックの電話がかかってきたのでチャッチャと書かねば、です。

Vagrantで開発環境を整えていたのですが Synced Folder での権限周りで引っかかってしまいました。
それで、今頃、Rsync Synced Folder に気づいたのですが、いいですねコレ。

rsyncで同期されるので、開発機のパワー不足でクラウド環境にサーバーを建てて開発してる方も使えるはず。オススメです。

こちらの詳細は検索していただくと『Vagrant 1.5 で追加された Rsync Synced Folder が良い – Shin x blog』やQiitaの記事など良い情報がみつかるかと思います。

さて、本題です。Rsync Synced Folder で開発を始めると vagrant rsync-auto コマンドで自動でのrsync同期を行うのですが、rsync__excludeで指定した同期対象外設定を変更してもなぜか反映されないという現象に遭遇しました。

これに関する情報が日本語では見つからなかったのでメモを残しておきます。

Previous Rsync Exclude setting caused duplicate rsync on rsync-auto #4567

ここに同様の現象に遭遇している方々がいらっしゃいます。そしてthePanzさんが以下の解決策を提示しておられます。

vagrant halt
rm .vagrant/machines/default/virtualbox/synched_folders
vagrant up

同様の現象にあったらお試し下さい(Vagrantのバージョンアップも忘れずに!)

Facebooktwitterlinkedintumblrmail