Fedora Core 4 PHP


ソースファイルの入手・展開

ユーザーディレクトリへ移動

$ cd /home/[UserName] 

ソースファイル用ディレクトリの作成します。
すでに作成済みであれば次へ

$ mkdir src 
$ cd src 

PHP 公式サイトよりソースファイルを取得
ここでは執筆時の最新バージョン4.4.0を選択してます。
最新バージョンを確認して相応に置き換えてください
PHPのWebページ http://www.php.net/

$ wget http://www.php.net/get/php-4.4.0.tar.gz/from/jp.php.net/mirror

DLしたファイルを解凍

$ tar xfz php-4.4.0.tar.gz 

コンフィグ・コンパイル・インストール

解凍したファイルのディレクトリへ

$ cd php-4.4.0

コンフィグする
必要に応じて各自オプションを設定してください。
私はPostgreSQLとMySQLのDB使用を宣言し、日本語文字対応のためマルチバイト宣言を付加しています。
MySQLを利用するのであれば、必ずインストールディレクトリを宣言するオプションを付加したほうがいいです。
Apacheのエラーログに File 'NONEXISTENT/charsets/?.conf' not found (Errcode: 2) というエラーを吐き続けることがあります。

そのほか画像処理のためGDライブラリ関係を組み込んでいます。
(TrueTypeFONTは使用しないので組み込んでいません)
またPEAR関係は個別に管理するのでここではdisableかけています。
(PEARの個別インストールについては、このページの最後に記載します)

$ ./configure \
 --with-pgsql \
 --with-mysql=/usr/local/mysql \
 --with-apxs2=/usr/local/apache2/bin/apxs \
 --enable-mbstring \
 --enable-mbstr-enc-trans \
 --enable-mbregex \
 --with-openssl \
 --with-gd \
 --with-png-dir=/usr/lib \
 --with-zlib \
 --with-jpeg-dir=/usr/lib \
 --without-pear

下記の表示がでればconfigure成功です。

+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+
|                          *** NOTE ***                              |
|            The default for register_globals is now OFF!            |
|                                                                    |
| If your application relies on register_globals being ON, you       |
| should explicitly set it to on in your php.ini file.               |
| Note that you are strongly encouraged to read                      |
| http://www.php.net/manual/en/security.globals.php                  |
| about the implications of having register_globals set to on, and   |
| avoid using it if possible.                                        |
+--------------------------------------------------------------------+

Thank you for using PHP.

もしここで、

configure: error: libjpeg.(a|so) not found.
configure: error: libpng.(a|so) not found.

これらのエラーがでたらlibpng、libjpegのdevel (開発用)パッケージがない場合が多いです。
CDまたはサイトから

  • libjpeg-devel-6b-34.i386.rpm
  • libpng-devel-1.2.8-2.i386.rpm

これらを持ってきてインストールします。

# rpm -ivh libjpeg-devel-6b-34.i386.rpm
# rpm -ivh libpng-devel-1.2.8-2.i386.rpm

もしくは

# yum install libjpeg-devel
# yum install libpng-devel

でインストールできます。

また

configure: error: libpq.so not found.

と出ている場合はPostgreSQLがまだインストールされていない可能性があります。
先にPostgreSQLをインストールしてからPHPのインストールを行うか、configureオプションの --with-pgsql をいったん覗いて configure し、PostgreSQLをインストールしたら、再度このオプションを入れた状態でインストールし直すなどしてください。

無事にconfigureできたらmake、make install

$ make

下記が表示されればmake成功です。

Build complete.

rootに昇格してインストールします。

$ su -
password:

# make install

設定ファイル php.ini の編集

php.iniをソースディレクトリからコピーします。

# cp php.ini-dist /usr/local/lib/php.ini.

必要な箇所を編集してください。
私は [mbstring] の項目を編集して下記のようにしています。

[mbstring]
; language for internal character representation.
;mbstring.language = Japanese
mbstring.language = Japanese

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
;mbstring.internal_encoding = auto
mbstring.internal_encoding = EUC-JP

; http input encoding.
mbstring.http_input = auto

apache設定ファイルの編集

.phpの拡張子をPHPで処理できるように編集します。

# vi /usr/local/apache2/conf/httpd.conf

下記を追記します。

AddType application/x-httpd-php         .php 
AddType applocation/x-httpd-php-source  .phps

apache再起動

ここまでできれば設定の完了です。
apacheを起動していれば再起動します。
まだ起動していなければ起動させてください。

再起動の場合

# /etc/rc.d/init.d/httpd restart

起動の場合

# /etc/rc.d/init.d/httpd start

PHP起動確認

apacheのドキュメントディレクトリにテスト用のファイルを設置します。
ファイルの内容は下記のとおりです。

<? phpinfo(); ?>

ファイルの名前は適当につけてください。
拡張子は必ず .php にします。

ブラウザから設置したURLへアクセスし PHPの設定情報のページが表示されれば動作OKです。

PEARの個別インストール

PHPのコンフィグレーション時に組み込んでも特に問題はないのですが、セキュリティーホールなどの不具合が出た際に、別途組み込みだと早急に対応できるため、今回はこのような方法をとりました。
運用スタイルに合わせて、好きな方法を選択してください。

インストールの詳細についてはPEAR公式サイトのマニュアルを参考にしてください。

PEARコマンドによるインストール
まずはパッケージマネージャーをインストールします。

# lynx -source http://go-pear.org | php

必要なパッケージをPEAR http://pear.php.net/ のサイトから探します。
パッケージが見つかったら下記のコマンドでインストールします。

# pear install <package>

これでPEARパッケージが利用可能になります。



Last-modified: 2015-04-23 (木) 15:18:26 (964d)