ぷぎがぽぎ このページをアンテナに追加 RSSフィード

2009-03-27

[]RHEL系でPHP5.2の最新版をパッケージからインストールしたい

RH系,CentOS系を使っていると、通常PHPは5.1系になってしまいます。symfony1.2系を使いたい場合は5.2以上が要求されるのでそのままでは使えません。

で、ソースからビルドするのもありなのですが、PHPだけパッケージ管理できないのは悲しいです。そういう場合にパッケージで管理する方法もあるのですが、これまでは

  1. Utter Ramblingsリポジトリからyumでインストール
  2. ディノオープンディレクトリのサービスを使う

の2パターンについては知っていたのですが、oracleが5.2系のrpmを提供していることを知り早速ためしたのでメモ

oracleが提供しているPHP5.2.9のRPMをCentOS5にインストールしてみる

rpmの入手は以下から

404 Not Found

ちなみにEL4用もあります。これは嬉しい。

手元のCentOS5は 標準のPHPがインストール済みなのでバージョンは5.1.6

$ php -v
PHP 5.1.6 (cli) (built: Jul 16 2008 19:53:00) 
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

以下のパッケージがyumでインストール済みなので、

 php
 php-devel
 php-cli      
 php-common   
 php-mbstring 
 php-mysql    
 php-pdo      
 php-xml      
$ sudo yum remove php*

にてざっくりとアンインストールを実行

あとは同じパッケージをダウンロードしてきてインストールしてみる。

試したいだけなので、/tmpにとってきてますが、

ちゃんとインストールしたパッケージは管理しておきましょね。

$ cd /tmp
$ wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php-5.2.9-1.el5.i386.rpm
$ wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php-cli-5.2.9-1.el5.i386.rpm
$ wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php-common-5.2.9-1.el5.i386.rpm
$ wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php-devel-5.2.9-1.el5.i386.rpm
$ wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php-mbstring-5.2.9-1.el5.i386.rpm
$ wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php-mysql-5.2.9-1.el5.i386.rpm
$ wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php-pdo-5.2.9-1.el5.i386.rpm
$ wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php-xml-5.2.9-1.el5.i386.rpm

さてインストールしようとするとエラーが発生。

$ sudo rpm -Uvh php-*
エラー: 依存性の欠如:
	autoconf213 は php-devel-5.2.9-1.el5.i386 に必要とされています

ちなみに、rpmのオプションがi(インストール)でなく、U(アップデート)なのはyum removeではphp.iniなどファイルが残されるので、

エラーになってしまうため。

もちろん、バックアップはとっておきましょね。

で、エラーの内容はautoconf213が必要といわれたので

$ sudo yum install autoconf213

しておく。

[追記]php-devは普通にPHPをインストールして使うだけでは不要なパッケージなので、必要がなければインストールしなければエラーもでません。

では、再度実行

 sudo rpm -Uvh php-*
準備中...                ########################################### [100%]
   1:php-common             ########################################### [ 13%]
   2:php-pdo                ########################################### [ 25%]
   3:php-cli                ########################################### [ 38%]
   4:php                    ########################################### [ 50%]
   5:php-devel              ########################################### [ 63%]
   6:php-mbstring           ########################################### [ 75%]
   7:php-mysql              ########################################### [ 88%]
   8:php-xml                ########################################### [100%]

あっさり終了。

バージョンを確認

$ php -v
PHP 5.2.9 (cli) (built: Mar 17 2009 12:04:37) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

oracleが提供していることもあり、

Utter Ramblingsリポジトリはどうだろなーって方にはぴったりですね。

2009-03-08

[][]symfony2のコンセプトを斜め読み

Symfony 2

Fabien Potencier

March 04, 2009 > June 04, 2009

Montreal / Canada - PHPQuebec Conference - 2009

Next >

Talk - Symfony 2 - Fabien Potencier

カナダで開催されたPHPQuebec カンファレンスでsymfony2の開発リーダーであるFabienが行ったプレゼンの資料が公開されています。

symfony1.x系はあくまでもsymfony2へ移行していくための準備にすぎないということがわかっている現在、symfony2がどういうような実装になっていくのか気になっていたので、ざっくりと眺めてみた感想を。

1. symfony2のコアはより軽量にかつ柔軟性があるものになるので単純な処理(DB処理などなしで文字列の出力程度)は早い

資料によると、Hello Worldを出力するだけのような(あまり意味の無い)ベンチマークにおいて、symfony1.2と比べて7倍ほど早くなるとのこと。そして、フレームワークのコア部分だけを利用すれば、設定ファイルも何もなしで、1枚のPHPファイルでsymfonyを利用した処理を行うサンプルがありました。

f:id:brtRiver:20090308093257p:image

no titleで開発するときのような書き方に近いですね。

このままを利用して何かサイトを作るなんてことは無いでしょうが、コア部分がより軽量化されたからこそできることですね。

そして、ORマッパーやテンプレートエンジンなどのコア以外の機能から完全に独立していることがわかります。

2. テンプレートフレームワーク

最近のPHPフレームワークの流行はSmartyなどのテンプレートを使わずに、PHPそのものの特徴を利用したPHPそのものをテンプレートとして利用するパターンです。symfony2でもその方向は変わりありませんが、より柔軟性のもてるテンプレートエンジンになるようです。

その特徴としてテンプレートの継承ができるようになるそうです。PHPでの他のフレームワークではrhacoでは実装されていると思うのですが、それに近いものなんでしょうか?

継承できることで、書き換えたい部分だけを書けばよいので、すっきりしたテンプレートが書けそうです。

3 DIコンテナ

これも期待されるDIコンテナについてXMLで書いた場合とPHPのコードで書いた場合を比べたサンプルがあります。

依存関係をはっきりさせることができるのは嬉しいのですが、私自身DIコンテナの知識が乏しいので、symfony2でのDIコンテナがどういった特徴があるのかわからないので、誰かのレビューを待ちます(ぉ

にしても、全102ページもあり結構なボリュームです。

symfonyを既に使っている方にとっては読みがいのある資料だと思うのでおすすめです。

2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |