HomebrewでPHP5.3.6をインストールする
Formulaとあわせて手順を公開されてる記事があったのでそちらを参考に。
Formulaを落としてきて所定のディレクトリに配置。
$ curl -O https://github.com/ampt/homebrew/raw/php/Library/Formula/php.rb
$ mv php.rb `brew --prefix`/Library/Formula
インストールオプションを確認したり。
$ brew options php
php
--with-mysql
Include MySQL support
--with-pgsql
Include PostgreSQL support
--with-mssql
Include MSSQL-DB support
--with-fpm
Enable building of the fpm SAPI executable
--with-apache
Build shared Apache 2.0 Handler module
--with-intl
Include intl extension
--with-readline
Include readline extension
今回はmysql,pgsql,apache,intlをチョイス。
brew install php --with-mysql --with-pgsql --with-apache --with-intl
intlはSymfony2で遊ぶのに必要。pgsqlつけたらPostgreSQL本体もインストールされた。
ビルドが終わるまで待つ…インストールおわり。
次はパスを通したりの作業。MacにはもともとPHPが入っていて(Xcodeと一緒に入るんだっけ?)そっちが優先されるので、切り替えていく。
まずはCLIのPHPを切り替える。zsh使ってるので~/.zshenvに追記。
echo 'export PATH='`brew --prefix php`'/bin:$PATH' >> ~/.zshenv
次はApacheのPHP。/etc/apache2/httpd.confを編集。
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/Cellar/php/5.3.6/libexec/apache2/libphp5.so
$ sudo apachectl restart
これで終わり。
ユーザー領域にPEARをインストールする
システムとは別の場所にPEARをインストールする手順。たぶんPerlでいうところのlocal::lib的なもの。すでにシステムにPEARがインストールされているのが前提。
ここでは~/local/php以下にインストールすることにする。
個別PEAR用の設定ファイルの生成
# インストールパスと設定ファイルのパスを指定 $ pear config-create ~/local/php ~/.pearrc.local
~/local/phpの中のpearディレクトリにインストールするように設定されたファイルが生成される。
この設定ファイルを使ってPEARをインストールしていく。
チャンネル情報を更新
$ pear -c ~/.pearrc.local uc
PEAR本体をインストール
$ pear -c ~/.pearrc.local i pear
これでOK。
インストールファイルを確認
$ ls ~/local/php/pear
cache data docs download ethna pear peardev pecl php temp tests
~/local/php/pear/pearがpearコマンド。今後はこれを使う。
ついでに、このままだとコマンドがこんな感じでいちいち長いので
$ ~/local/php/pear/pear -c ~/.pearrc.local
aliasを設定しとく。例えば.zshrcに
alias lpear="$HOME/local/php/pear/pear -c $HOME/.pearrc.local"
と書いとけば
$ lpear
で使えるようになる。
以上で終わり。もちろんシステム側のPEARにはなにも影響しない。WEBフレームワークと組み合わせて、vendorディレクトリにインストールしたりするとかいいかも。
swfedのインストール on Homebrew@Mac OS 10.6.6
HomebrewなMac環境でswfedをインストールするときにちょっとはまったのでメモ。
環境
$ php -v PHP 5.3.3 (cli) (built: Aug 22 2010 19:41:55) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies $ brew -v 0.7.1
依存するライブラリのインストール。
$ brew install libpng $ brew install giflib
あと
$ brew link libpng
てやらないとpng.hが見つからなくてPNGサポートが有効にならない(ここではまった)。
あとはいつもどおり、ぺちぱいずしてこんふぃぎゅあーでめいく。
$ pwd swfed-0.28 $ cd src $ phpize $ ./configure $ make
src/modulesにswfed.soができあがるのでextension_dirにコピー。
$ php -i | grep extension_dir extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20090626 => /usr/lib/php/extensions/no-debug-non-zts-20090626 $ sudo cp modules/swfed.so /usr/lib/php/extensions/no-debug-non-zts-20090626/
デフォルトの状態ではphp.iniが無いので作成する(ここでもちょっとはまった)。
$ php -i | grep php.ini Configuration File (php.ini) Path => /etc $ cd /etc $ sudo cp php.ini.default php.ini $ sudo chmod +w /etc/php.ini $ sudo vi php.ini 「extension=swfed.so」を追記
確認。
$ php -i .. 略 .. swfed SWF Editor support => enabled SWF Editor version => 0.28 SWF Editor PNG support => yes SWF Editor GIF support => yes .. 略 ..
おわり。
第2回 関西アンカンファレンスに参加した
当日のセッション一覧をid:iseebiさんが作成されています。感謝!
http://d.hatena.ne.jp/iseebi/20110108/p1
以下聴いたセッションのメモ。
「PHPがこの先生きのこるために何か」PHP光源氏計画 (@tbsmcdさん)
- Titanium & PHPでデスクトップアプリを作る
- たいたにあむ
- マルチプラットフォーム
- 教育用途
おみくじで必ず「大吉」を引くたったひとつの方法 (@ryo_ryoo_ryoooさん)
- 大吉 16%
- 今日 35%
- 結論:大吉がでるまでやり続ける
sshの公開鍵認証について考えてみよう (@Ten_forwardさん)
zshで記号プログラミング (@mollifierさん)
- 記号だけでHello, World!
Webサービスと言語について (@griffin374さん)
伝わるプレゼンの組み立て方を考える (@shokutoさん)
- プレゼンはハッピーなもの
- パワポは一直線
- 時間を確認
海外で起業しよう!-オンライン英会話編- (@@tomoyatouさん)
WEBの中に見られるバビロンシステム (slywalkerさん)
- バビロンシステム
- バビロニア
- King - Slaves
新感覚のURL短縮サービスを作ってみた (@mzsm_jさん)
- URLが説明文になっている(日本語ドメイン)
Gmailはショートカットでサクサク使おう (@msngさん)
- やりたいことはだいたいできる
美味しそうな写真の撮り方 (@griffin374さん)
- 背景には何も無いほうがいい
迷えるWEBデザイナー2011年をFLASHで切り抜ける (@mrhdmsさん)
- Progression
- フルFlashサイトなら一択
- 国産
- THE Hype Framework
- ビジュアルエフェクト
- EASELjs
- ASライクにJSが書ける
WEBの中に見られるバビロンシステム まとめ (@slywalkerさん)
- バビロンシステムとWEBサービスの比較
Emacsデモ (@tomoyaさん)
- point-undo
いつか役に立つかもしれないマーケティングのあれこれ (@kekoさん)
- LPO(着地ページ最適化)
iPhoneアプリの作り方10個 (@mogyaさん)
- 1/29 Titanium Mobile 勉強会
ライブストリーミングあれこれ (@GoaRICKさん)
大阪で2番目に分かりやすいjQueryプラグインの作り方 (@kamiyamさん)
Lithiumの紹介 (@nano_eightさん)
- アスペクト指向プログラミング
要求開発について (@ntaijiさん)
- 要求開発とは?
- WEB系と業務系の壁
以上メモおわり。
気になったキーワードをリストアップしてみる。
- Titanium
- プレゼンはハッピーなもの
- バビロンシステム
- point-undo.el
- LPO
- 要求開発
いやー面白い話いっぱい聞けました。発表されたみなさん、おつかれさまでした。
UINavigationControllerのアニメーションをカスタマイズしたい(未解決)
UINavigationControllerのアニメーションをカスタマイズしたいなと思って、ググってたらこんな情報があった。
iphone - UINavigationController Custom Transition Animations - Stack Overflow
Core Animationを使ってアニメーションさせて、アニメーションが終わったらアニメーションOFFでpushViewControllerする、という方法。
これでうまくいくかと思ったけど、この方法だとアニメーション中は片方のビューコントローラのビューしか表示されない。標準のアニメーションみたいにアニメーション中も両方のビューを表示したい。
なのでこんな方法を考えた。
// ビューをねじこむ [self.navigationController.view addSubview:nextViewController.view]; // Get position of old view controller CGPoint center = [oldViewController.view center]; // Position new view controller to the right of old one [newViewController.view setCenter:CGPointMake(center.x + 320, center.y)]; // Animate change [UIView beginAnimations:@"myAnimation" context:NULL]; // Move old view off screen [oldViewController.view setCenter:CGPointMake(center.x - 320, center.y)]; // Move new view onto screen [newViewController.view setCenter:center]; // Set animation delegate to self so that we can detect when animation is complete [UIView setAnimationDelegate:self]; [UIView setAnimationDidStopSelector:@selector(animationComplete:finished:target:)]; // Finish animation block [UIView commitAnimations];
あらかじめaddSubviewしとけば表示されるんじゃないの、と。
なんとなく望む結果になったけど、ナビゲーションバーの表示にかぶったり座標がなんかずれたりよくわからない。
もう自分で一から画面遷移のコード書いた方が早い気がしてきた...。