PHPのインストールとWebサーバーの設定ついて解説していきます。PHPが使えるようになるとサイト制作の幅が大きく広がっていきます。
|
|
■PHP4 のダウンロード
まず、PHP の本家サイトへいってソースパッケージをダウンロードします。執筆時点での最新バージョンは、PHP4.3.4
です。以降は、/usr/local/src/ にダウンロードしたものとして解説を進めていきます。
$ cd /usr/local/src
$ tar xzvf php-4.3.4.tar.gz
$ cd php-4.3.4 |
|
■PHPのインストール
configureオプションを指定します。詳細について詳しく知りたい場合は、./configure --help
とコマンドしてください。なお、4.3.0以降は、
--enable-mbstr-enc-trans
は指定しても無効になります。有効にするには、
$ ./configure --enable-mbstring
\
--enable-mbregex
\
--enable-mbstr-enc-trans \
--with-mysql=/usr/local/mysql
\
--with-pgsql=/usr/local/pgsql
\
--with-apxs2=/usr/local/apache2/bin/apxs
|
|
--enable-mbstring
マルチバイト関数をサポートします。
--enable-mbstr-enc-trans
--enable-mbregex
--with-apxs=/usr/local/apache/bin/apxs
Apache2 の動的モジュール(DSO)のパスを指定します。
--with-mysql=/usr/local/mysql/
データベースにMySQLを使用する場合に、MySQLのパスを指定します。
--with-pgsql=/usr/local/pgsql/
データベースにPostgreSQLを使用する場合に、PostgreSQLのパスを指定します。
◎GDをサポートする場合のconfigureオプション
GDライブラリを使用すると、線や円などを用いてグラフ表示にしたり、フォントの文字をjpg,png,gif
などの画像形式で表示させることができるようになります。上記のオプションに加え、以下で記したオプションも付け加えてください。
$ ./configure --with-gd
\
--with-zlib-dir=/usr/local/lib
\
--with-jpeg-dir=/usr/local/lib
\
--with-png-dir=/usr/local/lib
\
--with-freetype-dir=/usr/local/lib
|
|
configure が終了したら、make してmake install を実行します。
■php.ini のコピー
まず、ソースパッケージの中に php.ini-dist というファイルが作成されるので、/usr/local/lib
下にphp.ini にリネームしてコピーしておきます。このファイルがなくても、php はデフォルトで動作しますが、より細かい制御を行う場合に必要となります。
# cd /usr/local/src/php-4.3.4
# cp php.ini-dist /usr/local/lib/php.ini |
|
■httpd.conf の編集
php という拡張子を認識させるために、MIMEタイプを追加します。httpd.conf を開いて以下の行を追加してください。既に以下の行がある場合は、コメントを削除して有効にしてください。
AddType application/x-httpd-php
.php .php4
AddType application/x-httpd-php-source .phps |
|
また、以下のLoadModule ディレクティブがあることを確認してください。もし、記述がなければ追記してください。
# Example:
# LoadModule foo_module modules/mod_foo.so
LoadModule php4_module modules/libphp4.so |
|
トップページにindex.php を置いても表示されるように、DirectoryIndex にindex.php
を追加します。
DirectoryIndex index.html
index.cgi index.php |
|
以上の編集を終えたら、Apache2を再起動してください。
# /usr/local/apache2/bin/apachectl
restart |
|
■PHPの動作確認
php -v コマンドでインストールしたPHPのバージョンと一致しているかどうか確認してください。
$ php -v
PHP 4.3.4 (cli) (built: Dec 30 2003 15:06:33)
Copyright (c) 1997-2003 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2003
Zend Technologies |
|
ドキュメントルート下に適当名前で以下のように記述してブラウザからアクセスします。ここでは、test.phpとして保存します。あとはブラウザからアクセスして正常に表示できるかどうか確認してください。
$ vi /home/kororo/public_html/test.php
<?php phpinfo();?>
|
|
■php.ini の設定
それでは、php.ini の主な設定について簡単に説明しておきます。register_globals
は、PHP4.2x 以降からデフォルトがoff に変更になりました。セキュリティ上の問題で、register_grobals値をOn
にしないようなスクリプトを作成することが推奨されています。
アップロードできる最大容量を指定します。
SMTPサーバーのアドレスを指定します。プロバイダのメールサーバーを利用する際には、localhost
にプロバイダのSMTPサーバーを指定します。
■EUC-JPユーザ用 php.ini の設定
output_buffering = Off
default_charset = EUC-JP
mbstring.language = Japanese
mbstring.encoding_translation = On
mbstring.http_input = auto
mbstring.internal_encoding = EUC-JP
mbstring.http_output = EUC-JP
mbstring.substitute_character = none |
|
■Shift-JISユーザ用 php.ini の設定
output_buffering = On
default_charset = Shift_JIS
output_handler = mb_output_handler
mbstring.language = Japanese
mbstring.encoding_translation = On
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.internal_encoding = EUC-JP
mbstring.substitute_character = none |
|
◎値の意味
|
output_buffering |
出力バッファリングを有効/無効にする |
|
default_charset
|
HTTP charsetヘッダを設定 |
|
mbstring.language |
デフォルトの言語の指定 |
|
mbstring.encoding_translation
|
HTTP 入力変換を有効/無効にする |
|
mbstring.http_input |
HTTP 入力エンコーディング変換の指定 |
|
mbstring.http_output |
HTTP出力の設定 |
|
mbstring.internal_encoding |
内部エンコーディングの設定 |
|
mbstring.substitute_character |
none にすると無効な文字を出力しない |
|
mbstring.http_input |
HTTP入力エンコーディング変換の設定 |
|
php.ini を編集したら、設定を有効にするため、必ずApache2を再起動してください。再起動後は、error_logでエラーが発生していないかどうかもチェックしておいてください。