zaininnari - php/インストール

最新のPHPを使用する

前提

ubuntu9.10

ソースの追加

/etc/apt/sources.list
に以下を追記する。
deb http://php53.dotdeb.org stable all
deb-src http://php53.dotdeb.org stable all

libapache2-mod-php5と依存関係になるlibicu38、libkrb53のインストール

インストール

sudo apt-get install php5 php5-common php5-dev php5-suhosin php5-cli php5-mysql php5-gd php-pear
php5-devはlibtoolの競合でインストールできない場合がある
libtool のダウングレードするとうまくいく場合がある。

sudo apt-get remove libtool
cd /tmp
mkdir tmpphp && cd tmpphp
wget http://us.archive.ubuntu.com/ubuntu/pool/main/libt/libtool/libtool_1.5.26-1ubuntu1_i386.deb
sudo dpkg -i *.deb

xdebug のインストール

sudo apt-get install php5-xdebug

peclを使用する場合には、php5-dev と ビルドする環境が必要になる。
sudo apt-get install php5-dev
sudo apt-get install build-essential gcc g++
sudo pecl install xdebug

2010/03/20時点でインストールされるのは、安定版である xdebug-2.0.5 だが、
PHP5.3.2を使用して、デバッグを行うと、クラス内の変数が取得できない。

その場合は、xdebug( http://xdebug.org/ )の公式アナウンスを見て、最新のバージョンを指定してインストールを行う。

sudo pecl install xdebug-2.1.0beta3
xdebug の設定
/etc/php5/conf.d/xdebug.ini
;xdebug.so を読み込むには zend_extension を使用する。
;zend_extension を使用する際には、絶対パスにて記述すること。
zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so

;一般
xdebug.collect_params = On
xdebug.collect_vars = On
xdebug.dump.GET = *
xdebug.dump.POST = *

;デバッグ
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
;xdebug.remote_log="/tmp/xdebug.log"

また、
xdebugのvar_dumpがハイライトされない場合は、
/etc/php5/apache2/php.ini
の下記を書き換える。

html_errors = Off

html_errors = On