BEAR.Sundayを触ってみたメモ (1)インストール
BEAR.Sundayを試してみる人が増えてきたので、自分も試してみました。
以前(dev2)はWindowsではうまく動かせずインストール途中で挫折してしまったのですが、今回はどうでしょうか。
手順は公式Wikiを参考に
http://code.google.com/p/bearsunday/wiki/Install
BEAR.SundayはPHP5.4以降必須なので、まずはこちらから最新のPHP5.4を入手します。
http://windows.php.net/download/
PHP5.4.4のVC9 Thread Safe版にしました。
http://windows.php.net/downloads/releases/php-5.4.4-Win32-VC9-x86.zip
C:\phpに展開。
BEAR.Sundayはビルトインサーバでの開発をサポートしており、PHP単体で動かせるのが嬉しいですね。
APC拡張が必要ということで、Windows版APC拡張のdllをこちらから入手します。
http://downloads.php.net/pierre/
http://downloads.php.net/pierre/php_apc-3.1.10-5.4-vc9-x86.zip
zip展開すると、nts(non thread safe)とts(thread safe)の2つのディレクトリがあるので、環境に合った方のphp_apc.dllをPHPインストール先のextディレクトリにコピー。
php.iniを修正します。
apcの他にも必要そうな拡張を有効にして、いつもの設定を追加しておきます。
extension_dir = "ext" extension=php_apc.dll extension=php_curl.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysql.dll extension=php_mysqli.dll extension=php_openssl.dll extension=php_pdo_mysql.dll extension=php_pdo_sqlite.dll default_charset = UTF-8 [Date] date.timezone = Asia/Tokyo [mbstring] mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = Off mbstring.detect_order = auto mbstring.substitute_character = none; mbstring.func_overload = 0 mbstring.strict_detection = Off [Session] session.use_cookies = 1 session.use_only_cookies = 1 session.cookie_httponly = 1 session.gc_divisor = 1000 session.bug_compat_42 = On session.bug_compat_warn = On session.hash_function = 1 session.hash_bits_per_character = 6 apc.enable_cli = 1
普段はXAMPPのPHP(5.3.8)を使っていますので、今回インストールした5.4.4のパスを一時的にPATH環境変数の先頭に追加します。
以下、msysgit 1.7.11のGit Bashにて
$ PATH=/c/php:$PATH $ php -v PHP 5.4.4 (cli) (built: Jun 13 2012 21:27:06) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
BEAR.SundayをGitHubからcloneします。
$ mkdir BEAR $ cd BEAR $ git clone https://github.com/koriym/BEAR.Sunday.git Cloning into 'BEAR.Sunday'... remote: Counting objects: 5867, done. remote: Compressing objects: 100% (2005/2005), done. Receiving objects: 100% (5867/5867), 2.77 MiB | 775 KiB/s, done. emote: Total 5867 (delta 2949), reused 5803 (delta 2885) Resolving deltas: 100% (2949/2949), done.
展開されたディレクトリに最新のcomposer.pharを取得します。
$ cd BEAR.Sunday $ curl -s http://getcomposer.org/installer | php #!/usr/bin/env php All settings correct for using Composer Downloading... Composer successfully installed to: C:\Users\k_horii\Dropbox\Documents\Projects\BEAR\BEAR.Sunday\composer.phar Use it: php composer.phar
composer.pharを使って依存ライブラリをインストールします。
$ php composer.phar install Installing dependencies - Installing aura/autoload (dev-master) Cloning 1c95616bc2fc1d99b60ec3c18b8fe7aea4e21824 - Installing aura/router (dev-master) Cloning ca66b9307b15f7a620282f4c02fc23eff1a7c398 - Installing aura/web (dev-master) Cloning e051c49b8e314e59b90efdaf99e2de2bfc3da2e8 - Installing aura/di (dev-master) Cloning a26165d20b5c937dbb175b951d67d116ca28bee7 - Installing doctrine/common (dev-master) Cloning ee3aeae972386d761d8358bab3d67e246f4261ba - Installing ray/aop (dev-master) Cloning 85afc6ff54d8f877d39ecf0ad2a5a67e14ae7fd5 - Installing ray/di (dev-master) Cloning c9cf837e6d15168feace706204102558102ab337 - Installing monolog/monolog (1.1.0) Downloading: 100% - Installing symfony/event-dispatcher (v2.0.16) Downloading: 100% - Installing guzzle/guzzle (v2.7.2) Downloading: 100% - Installing facebook/xhprof (0.9.2) Downloading: 100% - Installing aura/signal (dev-master) Cloning a260b16b150553dbedd41e9edc57a18a34c3dacd - Installing bear/resource (dev-master) Cloning 51694ae54c7795ad9a46e4a3c38b01789570c41d - Installing doctrine/dbal (dev-master) Cloning 00ac50c0e721b1dcbcc4924938ab648e28feb4cf - Installing pagerfanta/pagerfanta (dev-master) Cloning c490684def33e992241e7fad33bcbd03d9d18643 - Installing vdump/vdump (0.1.0) Downloading: 100% - Installing smarty/smarty (v3.1.11) Checking out /tags/v3.1.11/@4636 [RuntimeException] Package could not be downloaded, 'svn' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 install [--prefer-source] [--dry-run] [--dev] [--no-scripts]
どうも、svnコマンドが必要なようです…orz
Apache Subversion Binary Packages からWindows版バイナリを入手します。
http://subversion.apache.org/packages.html
色々あって違いがよく分かりませんが、「32- and 64-bit client MSI」ということなので、こちらのSilk SVN 1.7.5 (32 bit)をインストール
http://www.sliksvn.com/pub/Slik-Subversion-1.7.5-win32.msi
インストーラ実行完了後、Git Bashを再起動してsvnコマンドを確認してみます。
$ svn --version svn, バージョン 1.7.5-SlikSvn-1.7.5-WIN32 (SlikSvn/1.7.5) WIN32 コンパイル日時: May 30 2012, 20:28:43 Copyright (C) 2012 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see http://subversion.apache.org/
いけそうなので、再度 composer install
$ php composer.phar install Installing dependencies - Installing smarty/smarty (v3.1.11) Checking out /tags/v3.1.11/@4636 - Installing symfony/console (v2.0.16) Downloading: 100% - Installing symfony/http-foundation (v2.0.16) Downloading: 100% Writing lock file Generating autoload files
インストールは途中から再開してくれるみたいです…無事に入りました!
テストの実行がありますが、諸々の事情で今回はパスしました。(PHP5.4はユニットテストの環境整えてなくて…)
ビルトインサーバ起動用のショートカットを作成します。
リンク先は C:\php\php.exe -S localhost:8088 web.php
作業フォルダーは BEAR.Sundayインストールパス\apps\sandbox\htdocs に設定。
さっそく起動してブラウザで見てみると…
Fatal error: require(): Cannot redeclare class bear\framework\framework in C:\Users\k_horii\Dropbox\Documents\Projects\BEAR\BEAR.Sunday\apps\sandbox\htdocs\index.php on line 16
index.php のここを強引に require → require_once に書き換えてみて再度アクセス
// load require_once dirname(dirname(dirname(__DIR__))) . '/package/BEAR/Framework/src/BEAR/Framework/Framework.php'; require_once dirname(__DIR__) . '/App.php';
キタワァ.*・゜゚・*:.。..。.:*・゜(n‘∀‘)η゚・*:.。. .。.:*・゜゚・*!!!!!☆
今までWindowsで何度かインストールに挑戦しましたが、ここまで来られたのは初めてです。
テスト飛ばしてしまってますが、ひとまずフレームワークは動いてるので、このまま行けるところまで行ってみようと思います。
しかしよく見ると optional な拡張がいくつか入っていません。
Xdebug は Windows版 PHP 5.4 用の dllを見つけたのですが、memcacheとxhprofについては見つけられませんでした。
Xdebug
http://xdebug.org/download.php
Xdebug 2.2.0 PHP 5.4 VC9 TS (32 bit)
http://xdebug.org/files/php_xdebug-2.2.0-5.4-vc9.dll
これを入れて、php.iniで有効にします。
[XDebug] zend_extension = "C:\php\ext\php_xdebug-2.2.0-5.4-vc9.dll"
次回はチュートリアルをやってみます。
チュートリアルは最近頻繁に更新されているようなので、Windows派の方もぜひ触ってみましょう!
Blogチュートリアル
http://code.google.com/p/bearsunday/wiki/blog
"はじめての"チュートリアル
http://code.google.com/p/bearsunday/wiki/my_first_index