@remoreことさわだです。
#phpmatsuriではお世話になりました。
主に郡山さん宛ての共有です。
BEAR.Packageをセットアップしてみてつまづいたところなどを共有します。
細かい事だったり、利用者の想定レベルがある程度高ければ無視できる内容が多いです。
既出の内容出してたらすみません。
==========
■利用環境
==========
vagrant経由で、下記サイトで取得できる最小構成のCentOSの仮想OSを起動して環境を構築
http://www.vagrantbox.es/==========
■インストール手順
==========
下記ページの記述にそのまま従った。(githubの公式ページ感に促されるようにしてこのページを読み込んだ)
https://github.com/koriym/BEAR.Package==========
■どうだったか(インストール体験記)
==========
・composer.phar install の段階で、svnがインストールされてなくて躓いた
----------------
[RuntimeException]
Package could not be downloaded, sh: svn: command not found
----------------
⇒エラー文読めばわかる。svnをインストールして解決
・scripts/check_env.phpを叩くと、mysqldをインストールしてなくて躓いた
----------------
OK PHP:5.4.8
OK APC:3.1.13
OK apc.enable_cli
could not find driverDB connect(root/)
OK Vendor install
(option) xhprof: ()
(info) variables_order: GPCS
(info) php.ini: GPCS
----------------
⇒"could not find driverDB connect(root/)
"これはエラー文読んでもわからなかった。
check_env.phpのソースを読んで、30行目(下記PDOのインスタンス生成時)で落ちてることを確認して解決。
$pdo = new \PDO("mysql:host=localhost; dbname=blogbeartest", $id, $password);
・"buil-in web server for development"のあたりは何を持ってOKと考えれば良いかわからず躓いた
※ちなみに、このREADME.mdでtypo:buil-in⇒built-in
----------------
cd apps/Sandbox/public
php -S localhost:8088 web.php
php -S localhost:8089 api.php
----------------
※あと、初心者的な事を告白すると、
5.4のビルトインウェブサーバを使うのは今回が初めてだったので、
ホストマシンのブラウザからゲストOS内のサーバにアクセスするために
php -S 0.0.0.0
を指定する必要があると気付かず少し躓きました。
==========
■後から気づいたこと、考えたこと
==========
・初めから
http://code.google.com/p/bearsunday/wiki/install?wl=ja ここのinstructionを読めばもっと分かりやすかった。
⇒案)
BEAR.PackageのREADME.mdの文頭に(Japanese installation document is also available)などのように
日本語用のリンクがあると便利かもしれない
・scripts/check_env.phpのDBチェック
⇒mysqld以外のDBを使いたい人もいそう
⇒Sandboxという位置づけのBEAR.Packageリポジトリでは、
scripts/check_env.phpでmysqlドライバが使われてるのは自然だと思った
⇒本家BEAR.Sundayのscripts/check_env.phpでもmysqlドライバが指定されてるが、
一方でREADME.mdではmysqlが動作環境として指定されてない
⇒案0)
今は無視していい。(check_env.phpがfailする原因は自分で調べられる人をユーザとして想定する)
案1)
何が起こったか分かりやすいようにエラーメッセージによる説明を追加する
33行目:
$isDbConnectionOk = $e->getMessage();
↓
echo "failed to instantiate PDO with the DSN parameter 'mysql:host=localhost; dbname=blogbeartest'"
$isDbConnectionOk = $e->getMessage();
案2)
BEAR.Sundayリポジトリのcheck_env.phpではPDOのインスタンスを生成しない(DBをチェックしない)
案3)
README.mdにmysqlの利用を想定してることを書く
==========
取り急ぎ以上です。
この後チュートリアルなど読み進めてみて、また何かあれば感想をお送りします。
※このML以外の場所にお送りした方がよければ教えてください。
※pull request⇒rejectのコミュニケーションの方が郡山さんの都合が良ければ/早ければ今後そうします