Apache + PHP
PHPとは
Apacheに組み込むことで、[[HTML]]ではできなかった複雑な処理を動かすことができる。
ちなみにこのサイトおよびこのホームページシステムであるPukiwikiもApache + PHPの環境下で動いています。
元々はPerlというスクリプト形式でWEB上で複雑な処理ができるプログラムがあり、このPerlを高速に動かすために開発されたものがPHPといわれている。
動きの概念
動きはapache → PHP → Apacheの流れである
Apache側から命令がPHPに引き渡され、その命令をPHPが処理してまたApacheに戻すのです。
インストール
tar xvfz httpd-2.0.53.tar.gz
cd httpd-2.0.53-rc1
./configure --enable-module=so --enable-proxy
make
make install
※この記述はApacheにSSLを組み込まない場合です。
もし組み込む場合はApache + OpenSSLを参照してください。
初期文字コードの設定
デフォルトでは文字コードがISO-8859-1で表示されるように設定されています。
そのため、自動補整できないドキュメントやプログラムなどを実行すると文字化けを発生させる原因となってしまいます。
そこで、デフォルトの文字コードをLinux全般で用いられるEUC-JPに変換します。
AddDefaultCharset ISO-8859-1
↓
AddDefaultCharset EUC-JP
デーモンの起動と停止
デーモンの起動
/usr/local/apache2/bin/apachectl start
デーモンの停止
/usr/local/apache2/bin/apachectl stop
PHPのインストール
tar xvfz php-4.3.10.tar.gz
cd php-4.3.10
./configure オプションについては下記参照
make
make install
オプションの使い分け
Apache + PHPのみの時
./configure --with-apxs2=/usr/local/apache2/bin/apxs
Apache + PHP + Squirrelmail
./configure --with-apxs2=/usr/local/apache2/bin/apxs \
--enable-mbstring --enable-mbstr-enc-trans
Apache + PHP + PostgreSQL
./configure --with-apxs2=/usr/local/apache2/bin/apxs \
--with-pgsql=/usr/local/pgsql --enable-track-vars \
--with-apxs2=/usr/local/apache2/bin/apxs \
--without-gd --enable-trans-sid
Apache + PHP + PostgresSQL + Squirrelmail
./configure --enable-mbstring \
--enable-mbstr-enc-trans \
--with-pgsql=/usr/local/pgsql \
--enable-track-vars \
--with-apxs2=/usr/local/apache2/bin/apxs \
--without-gd --enable-trans-sid
上記ですべてではありません。利用するアプリケーションの組み合わせによって変わります。
インストールが成功するとapache2/moduleフォルダの中にlibphp4.soが自動で作られます。
もし作られない場合はコンパイルエラーなのでダウンロードしなおし、再度インストールしましょう。
PostgresやMySQLと連動される場合は他にもオプションが必要になります。
--with-apxs2=/usr/local/apache2/bin/apxs
ApacheとPHPを連動させるために必要なオプションです。
--enable-mbstring
マルチバイトファンクションを有効にするオプションです。
プログラムによっては日本語対応時にエラーになる場合があるのでつけておきましょう。
--with-pgsql=/usr/local/pgsql
PostgreSQLとPHPを連動させるために使います。
PostgreSQLを用いない場合ははずします。
これでおしまいです。このmakeやmake installの処理はPentiumIIIの1GHz、メモリー512MBの環境下でもそれぞれ10分もしくはそれ以上の時間がかかります。
もし1,2分で終わってしまう場合は正しくインストールされていない場合があります。
私も実際経験したのですが、1,2回やっても1,2分くらいで終わるのであればもう一度ダウンロードしなおしてください。
httpd.confへ記述の追加
以下の行を追加しよう
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
正しく追加されているかの確認
LoadModule php4_module modules/libphp4.so
上記行はmake installを実行すると自動で書き加えらえる。
そのため通常は何もする必要がないが、行が書き加えられているかを確認しよう。
またapacheのmoduleフォルダにlibphp4.soが作成されているかを確認しよう。
PHPの起動
PHP側で何かすることはありません。
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
一度Apacheを停止して、再度起動しましょう。
起動の確認
起動の確認はPHPのインフォメーションが表示されるか否かを確認するのが手っ取り早い方法です。
vi /usr/local/apache2/htdocs/phpinfo.php
上記ファイルを作成します。
?php
phpinfo();
?
内容は上記のように設定します。
そしてPHPが正しく動作しているとインフォメーション画面が表示されます。
|