CLOVER🍀

That was when it all began.

Ubuntu 12.04 LTSにPHPをソースからインストールする

前回、Apacheをインストールしたので続いてPHP。

とりあえず、ソースをダウンロードしてconfigureしようとすると…

configure: error: xml2-config not found. Please check your libxml2 installation.

ですって。

libxml2は入ってるけど??と思いましたが、libxml2-devをインストールする必要があるということがわかったので、追加。

$ sudo apt-get install libxml2-devパッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  libxml2-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
804 kB のアーカイブを取得する必要があります。
この操作後に追加で 2,755 kB のディスク容量が消費されます。
取得:1 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libxml2-dev amd64 2.7.8.dfsg-5.1ubuntu4.2 [804 kB]
804 kB を 3秒 で取得しました (245 kB/s)
Selecting previously unselected package libxml2-dev.
(データベースを読み込んでいます ... 現在 473239 個のファイルとディレクトリがインストールされています。)
(.../libxml2-dev_2.7.8.dfsg-5.1ubuntu4.2_amd64.deb から) libxml2-dev を展開しています...
man-db のトリガを処理しています ...
libxml2-dev (2.7.8.dfsg-5.1ubuntu4.2) を設定しています ...

では、インストール。

$ cd /usr/local/
$ sudo mkdir php

...
$ tar -jxvf php-5.4.8.tar.bz2 
$ cd php-5.4.8/
$ ./configure --prefix=/usr/local/php/php-5.4.8 --with-apxs2=/usr/local/apache-httpd/current/bin/apxs --enable-mbstring
$ make
$ sudo make install

...

$ cd /usr/local/php/
$ sudo ln -s php-5.4.8 current

一応、PATHを通しておきますか。

export PHP_HOME=/usr/local/php/current
PATH=${PHP_HOME}/bin:${PATH}

確認。

$ . .bashrc 
$ php -v
PHP 5.4.8 (cli) (built: Nov 17 2012 23:12:19) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

続いて、Apache。
php.iniをconf/extra配下にコピー。

$ sudo cp php-5.4.8/php.ini-development /usr/local/apache-httpd/current/conf/extra/php.ini

httpd.confに、以下を追加。

PHPIniDir /usr/local/apache-httpd/current/conf/extra
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

あとは、Apacheを起動してhtdocs配下に以下のファイルを作成。
index.php

<?php
phpinfo();

結果はブラウザでアクセスして確認しましょう。

最後、EmacsにPHP modeをインストール。

PHP mode
http://sourceforge.net/projects/php-mode/

ダウンロードして展開して、php-mode.elをコピー。

$ tar -zxvf php-mode-1.5.0.tar.gz 
$ sudo mkdir /usr/share/emacs23/site-lisp/php
$ cp php-mode-1.5.0/php-mode.el /usr/share/emacs23/site-lisp/php/
$ sudo cp php-mode-1.5.0/php-mode.el /usr/share/emacs23/site-lisp/php/

.emacsに、以下を追加。

;; php-mode
(autoload 'php-mode "php-mode" "PHP editing mode." t)
(add-to-list 'auto-mode-alist '("\.php$" . php-mode))