Home > アーカイブ > 2012-05

2012-05

Macで一番簡単にPHP5.4をインストールする方法

  • 2012-05-25 (金)
  • PHP
この記事の所要時間: 532

Mac OS X に PHP5.4 を簡単に入れる方法です。

PHP5.4 使っていますか?

5.4 で実装されたビルトインサーバや traits、short array syntax などの新機能を試してみたい!でも 5.4 をインストールするのが面倒だなあ、というあなた、朗報です。

PHP 5.3/5.4 for OS X 10.6/10.7 as binary package」というパッケージを使うと、簡単に PHP5.4 をインストールできます。

PHP5.4をインストール

方法は簡単。下記のコマンドを実行するだけです。

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4

実行するとパッケージのダウンロードが始まりますので、しばらく待ちます。インストール処理で sudo を使っているので、パスワードが求められる場合があるので、パスワードを入力して進めて下さい。

はい、これで完了です。/usr/local/php5 以下に PHP5.4 がインストールされます。

$ /usr/local/php5/bin/php -v
PHP 5.4.2 (cli) (built: May  8 2012 09:48:57) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
    with Xdebug v2.2.0rc2, Copyright (c) 2002-2012, by Derick Rethans

ビルトインサーバもバッチリ動きます。

$ /usr/local/php5/bin/php -S 127.0.0.1:8000
PHP 5.4.2 Development Server started at Thu May 24 14:51:35 2012
Listening on 127.0.0.1:8000
Document root is /path/to
Press Ctrl-C to quit.

php.ini

php.ini ファイルは /usr/local/php5/lib/php.ini です。また、拡張毎の差分 ini ファイルが /usr/local/php5/php.d/ 以下にあります。

設定を変更する際は php.ini を直接変更するのではなく、新たに差分 ini ファイルを作成して変更箇所だけを記載するのが良いでしょう。

デフォルトでは timezone が Europe/Zurich になっているので、Asia/Tokyo に変更してみましょう。下記では、/usr/local/php5/php.d/99-my.ini というファイルを作成して timezone を Asia/Tokyo に変更しています。

$ sudo vim /usr/local/php5/php.d/99-my.ini 
date.timezone = Asia/Tokyo

$ /usr/local/php5/bin/php -i | grep timezone
Default timezone => Asia/Tokyo
date.timezone => Asia/Tokyo => Asia/Tokyo 

拡張モジュール

インストール拡張モジュールは以下です。かなり色々はいってますね。

$ /usr/local/php5/bin/php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
imap
intl
json
ldap
libxml
mbstring
mcrypt
memcache
mhash
mongo
mssql
mysql
mysqli
mysqlnd
OAuth
odbc
openssl
pcntl
pcre
PDO
pdo_dblib
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
Reflection
session
shmop
SimpleXML
soap
sockets
solr
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
uploadprogress
wddx
xdebug
xhprof
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib

[Zend Modules]
Xdebug

apc, twig, xslcach もインストールはされていますが、読み込まれていない状態になっています。必要であれば差分 ini ファイルを変更して有効にして下さい。

$ sudo vim /usr/local/php5/php.d/99-my.ini
date.timezone = Asia/Tokyo
# ↓を追加する
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20100525/apc.so

$ /usr/local/php5/bin/php -m | grep apc
apc

OS X 標準 Apache の mod_php を元に戻す

このパッケージをインストールすると OS X 標準の Apache の mod_php も PHP5.4 に置き換わります。5.4ではなく、既存の PHP を使う場合は以下の手順で設定を戻して下さい。

$ sudo rm /etc/apache2/other/+php-osx.conf
$ sudo vim /etc/apache2/httpd.conf
# LoadModule php5_module libexec/apache2/libphp5.so <--- コメントアウトを解除する

LoadModule php5_module libexec/apache2/libphp5.so

$ sudo /usr/sbin/apachectl restart

PHP5.4をアンインストール

インストールした PHP5.4 をアンインストールする時は、上記「OS X 標準 Apache の mod_php を元に戻す」手順を行ったあとに /usr/local/php5* と /usr/local/packager を削除するだけです。

$ sudo rm -rf /usr/local/php5*
$ sudo rm -rf /usr/local/packager

気軽にインストールできるPHP5.4

PHP5.4をインストールする方法としては、ソースからのビルド、MacPorts や Homebrew などのパッケージシステムからインストールするなど多くの方法があるのですが、どれもビルド環境を整えたり、パッケージシステム自体を入れる必要があるなど、ひと手間かかります。

この「PHP 5.3/5.4 for OS X 10.6/10.7 as binary package」であれば、PHP自体を入れるだけ(正確には packager という小さなパッケージシステムが一緒に入ります)なのでとても簡単ですし、元からインストールされている PHP への影響がないので、元のバージョンに戻すのも簡単です。

PHP5.4 を導入するのに躊躇している人、一度試してみて下さい。

  • コメント (Close): 0
  • トラックバック (Close): 0

PHPソースをコーディング規約に合わせて修正してくれるPHP Coding Standard Fixer

  • 2012-05-22 (火)
  • PHP
この記事の所要時間: 319

PHPソースをコーディング規約に合わせて修正してくれるツール「PHP Coding Standard Fixer」を試してみました。

PHPでコーディング規約チェックツールとしては PHP_CodeSniffer が有名です。PHP_CodeSniffer はソースをチェックして、問題点を指摘してくれるのですが、ソースの修正は自分で行う必要があります。

PHP Coding Standard Fixerは、コーディング規約チェックだけではなく、規約に従っていないソースを修正してくれるツールです。

PHP Coding Standard Fixerを使う

インストール

インストールは簡単で、githubで公開されている php-cs-fixer.phar ファイル をダウンロードしてくるだけです。

実行する

ダウンロードしたphp-cs-fixer.pharファイルをphpコマンドで実行します。

第2引数には対象のPHPファイル、もしくはPHPソースディレクトリを指定します。ディレクトリを指定した場合は、そのディレクトリ以下の全てのソースが修正対象となります。

$ php php-cs-fixer.phar fix /path/to/dir
$ php php-cs-fixer.phar fix /path/to/file

コーディング規約(修正ルール)には PSR-1, PSR-2 の一部のがデフォルトで含まれています(PSR-1, PSR-2はまだ策定中:2012/05/22)。–level オプションで適用するコーディング規約を指定することができます。–levelを指定しない場合は、–level=allと同じになります。

$ php php-cs-fixer.phar fix /path/to/file --level=psr1
$ php php-cs-fixer.phar fix /path/to/file --level=psr2
$ php php-cs-fixer.phar fix /path/to/file --level=all

実際に適用されるルールはgithubに記述があるので、こちらを参考にして下さい。
https://github.com/fabpot/PHP-CS-Fixer

PHPソースを修正してみる

試しに以下のようなソースで試してみました。

このソースに php-cs-fixer.phar を実行します。

$ php php-cs-fixer.phar fix php-cs-fixer-sample.php
#!/usr/bin/env php
   1) /path/to/php-cs-fixer-sample.php

修正されたソースです。なにやら変更されていますね。主な変更箇所は以下です。

  • 不要なuse文を削除
  • インデントが4spaceに
  • クラス宣言の開始ブレースが次行に
  • PHP開始タグが <? から <?php に
  • return文の前行を一行開ける

Vimプラグイン

Vimプラグインが公開されており、Vim上からPHP Coding Standard Fixerを実行することができます。
https://github.com/stephpy/vim-php-cs-fixer

自動で修正は楽

まだツール自体が荒削りで、対応しているルールが少ない、対応ルールとして挙げられているものが適用されなかったりしますが、発想としては面白いツールだと思います。日々開発しながら使っていけば、自然とコーディング規約に沿ったソースにしていけるので、これは便利です。

このツールでは実際にソースを変更してしまうので、万が一を考えて、修正後は自動テストを実行するようにしておくと安心ですね。

  • コメント (Close): 0
  • トラックバック (Close): 0

PHPカンファレンス関西2012を開催しました

この記事の所要時間: 757

5/12に大阪産業創造館で PHPカンファレンス関西2012 を開催しました。

昨年に引き続き大阪市内でPHPカンファレンス関西2012を開催しました。イベント当日は多くの方にお越し頂き、セッション、懇親会を通じて盛り上がりました。

協賛頂いた各社様、スピーカーのみなさん、参加されたみなさん本当にありがとうございました。

個人的なトピックはこちらに書いたので、ここでは実行委員長として見たカンファレンスを書いてみたいと思います。

好きやねんPHP!

今回のテーマはずばり「好きやねんPHP!」でした。

PHPは何かと揶揄されることが多い言語です。PHPが嫌いな人が揶揄するだけでなく、PHPが好きな人、PHPを使っている人も自虐的にそういった発言をすることがあります。そこで、カンファレンスの時間くらいは、PHPの良いことろを見直して、好きになってみましょう!ということをオープニングで話しました。

テーマを決めるにあたってスタッフ間でも話したのですが、そもそも、なんでこういったイベントを開くか、の原点はまさにこれなんですね。

カンファレンスのクロージングで「PHPを好きになった人!」と聞いたところ、ほぼ全員の手をあがりました!(「もっと好きになった人!」を聞けば全員だったのに、聞き忘れてました><)

今後もPHPが好きなら恥ずかしがらずに堂々と「PHPが好き」と言いましょう:D

2会場でマルチトラック、セッションは一般公募

カンファレンス全体で見ると、昨年との大きな違いは、会場を2会場にしてマルチトラックにしたこと、そしてセッションを一般公募したことです(昨年は LT のみ一般公募)。

この試みはどちらも正解でした。セッション数増加+一般公募で、初心者向けから上級者向けまで、内容もPHP言語、クラウド、CMS、フレームワークと幅広いセッション構成を組むことができました。

どのセッションも興味深い内容でかつ発表自体もレベルが高いものばかりでしたので、参加された方にも楽しんで頂けたかと思います。

当たり前のことですが、やはりカンファレンスで最も大事なのはセッションだということをあらためて感じました。スピーカーの皆さん本当にありがとうございました。

なお当日録画したセッションの動画をカンファレンス公式サイトで公開していますので、ぜひご覧下さい。

プログラム – PHPカンファレンス関西2012

スタッフのみんなに拍手

Twitterやblogなどを見ていると、運営についてお褒めの言葉をいくつか頂きました。スタッフ全員が手弁当で運営しているだけにこういった言葉は何よりも励みになります。ありがとうございます!

実行委員長の自分から見ていても、スタッフのみんなの働きは素晴らしかったと思います。

イベント経験豊富なメンバーがいたことも大きいですが、それぞれがそれぞれの持ち場で的確に動いてくれました。当日、自分はほとんど何もしていないのですが、スムーズにイベントは進んで行きました。

こうして良いメンバーと一緒にイベントができたことは幸せなことです。このメンバーでなら、誰が実行委員長をやっても、きっと上手くいくと思います。みんな、本当にありがとう。

また楽しいイベントを!

昨年のカンファレンス、勉強会、そして今年のカンファレンスで、「関西でPHPのイベントを開催する」という流れは作れたと思います。今後はぜひその流れに乗って、イベントを企画や運営、そして発表する人が増えていくと良いですね。

カンファレンスのような大きなイベントは来年になるかもしれませんが、勉強会は開催していくつもりです。またみんなで楽しいイベントをやりましょう!

おまけ:実録!実行委員長の一日

実行委員長って何するの?という話があったので、カンファレンス当日の自分の行動を書いてみました。あらためて見ると何もしてないですね><

8:30

朝一、事務所にスタッフ(@BiMihoujyun@poego@masa0221)と荷物取りに行く。

協賛企業さんの配布パンフ、カンファレンスパンフ、ステッカー、マジックやテープ等の文房具、電源タップ、懇親会景品などをタクシーで会場へ運ぶ。

Facebookを見ると公式サイト、パンフ、ステッカーをデザインしてくれた@nowebnolifeが体調不良で無念の欠席。パンフ、ステッカーのお披露目だっただけに残念。

9:10

産業創造館1Fカフェでスタッフ集合。軽く打ち合わせ(というか雑談)

9:20

鍵を受け取って、4F会場へ。それぞれ持ち場でセットアップ開始。

みんなは、受付ブース作ったり、スライド流したり、音響チェックしたり、電源並べたり。特にUst班の@spice_oが大忙し>< 手が開いている人はひたすら配布パンフをクリアファイルに詰めていく。

何するわけでもなくウロウロしてみんなを見守る。

9:40

ブース出展の協賛企業さん到着。挨拶後、ブース設営を見守る。

9:50

オープニングムービー用にスタッフ写真撮影。

ちょうどみんな集まったから、昨年と同じく円陣組もうと思ってけど、みんな忙しそうにそそくさと持ち場に戻っていった。ちょっと寂しい。

10:00

開場。廊下で待って頂いていた方が続々と中へ。

入場を見守りつつ、色々な人にご挨拶など。

10:30

カンファレンス開始。まず@ixcy力作のオープニングムービーから。

ムービーを壇上で見つつ、ちょっとグッと来てた。朝一で感動するやつはダメだよ><

オープニングでは普通に「うんうん」の練習をしたり。みんなノリが良くて嬉しくなった:D

張り切ってピンマイクで話したは良いが、終わった後もマイクがオンになっていて、しょうもない話が会場中に筒抜けに。。。

10:40

基調講演開始。
LT までは前に出ることはないので、6Fの様子を見に行ったり、あちこちウロウロ。

6Fに行くと @slywalker@bren_boss@masa0221@papettoTVがセットアップしてた。実に頼もしい。

4Fに戻ってセッションを@sigesabaの後ろで聞く。チラ見すると黙々と @kphpug アカウントで tweet してた。仕事人だ。

11:30

6F セッションも開始。

@tenshowがすごいレンズで写真をバシバシ撮ってた。おおよそ趣味のカメラには見えない。

Twitterを見ると何やら忍者がいるらしい。4Fの展示ブースへ向かう。忍者と名刺交換というレアな体験。

合間合間で司会の@BiMihoujyunと進行について打ち合わせ。

12:15

午前中終了。今のところ問題らしい問題はなし。順調に回り出したので一安心。

というか問題があっても、その場でみんな解決するから、特に把握せず(いいのか?)。

一人ぼっちで昼食取っているのを@heavenshellに激写される。

13:10

午後セッション開始。セッション聞きつつ、相変わらずウロウロ。

なんかウロウロしてるけど、これと言ったことはしていない。

14時過ぎにイベントマスター@ixcyが別件のため無念の離脱。おつかれっした!

ふと受付ブースをのぞくと@d_sak@yukarin33@yamamasa@poegoが何やら楽しそうにやってた。なんかキラキラして見えた気がしたが、けっして若さのせいではないと自分に言い聞かせる。

みんな進んであれこれアイデアを出してやっている。ホントすごい。

15:00

最後の LT に向けて準備開始。もちろん目玉のドラ娘さんも準備。

LT 順番抽選スクリプトを引きずり出したり、司会の@msngと打ち合わせたり。

壇上そばにいる撮影班@omoonの表情が固い。セッション前はなんだか落ち着かないね。

15:30

LT開始。自分の番はさらっと終わった。CakePHP2 の cookbook は良い。

他の人はみんなレベル高い。やっぱり LT は盛り上がる。

そしてドラ娘さんが適任すぎる。PHPカンファレンス関西はドラ娘充だ。

16:20

エンディング。ちょっと気のきいた言葉でも言えば良いのに思いつかず。

「もっとPHPが好きなった人!」は絶対に聞くべきだったorz

イベント最後に壇上から見る光景は素晴らしい。みんな良い笑顔!

希望者だけで集合写真。みんな良い笑顔:D

17:00

懇親会受付開始。懇親会開始までは色々な人とお話できた。

17:30

懇親会開始。開始の挨拶は準備で大奮闘の@nano_eight

@msngの軽妙な司会で進んでいく。歓談、じゃんけん大会、LT。LTは笑いすぎて苦しかった:D

ここでもドラ娘と忍者が大活躍。

20:30

楽しい時間はすぐ過ぎるもの。最後も@nano_eightがしめて終わり。今年はバッチリしめてくれた。

21:00

もろもろ撤収。

最後にスタッフだけで簡単に〆。こういう時はかっこいいことが言えるようにちゃんと考えておこう。

  • コメント (Close): 0
  • トラックバック (Close): 0

Home > アーカイブ > 2012-05

検索
フィード
メタ情報

Return to page top