最終更新日:平成14年12月13日(平成15年10月04日 訂正)

PHPのページ

各ディレクトリなどはマシン環境に合わせて設定してください。また、日本PHPユーザ協会でバージョンに合ったマニュアルを参照してください。                                                               


■PHPとは
PHP(PHP Hypertext Preprocessor)は、HTMLファイル内に記述するタイプのスクリプト言語です。
通常のCGIとして使用できますが、PHPモジュールをApacheサーバーに組み込むことにより、 Perl/CGIと比較して処理速度の高速化、サーバー負荷の低減が可能です。

  • PostgreSQL,MySQL,Oracle,Sybaseといった各種データベースとの連携に優れています。
  • XML,PDF,IMAP,LDAP等各種機能をサポートしており、広範なWebアプリケーションを容易に作成可能です。

    (php.gr.jpより転載をPHPのインストールより引用)



■PHPの導入方法
●ソースファイルのダウンロード

 日本PHPユーザ協会のページよりダウンロードしました。(ダウンロードしたのはphp-4.1.2.tar.gzです)
●ソースファイルのアップ

 エクスプローラーにてsamba共有のフォルダ(仮に/usr1/mydata/etcとします)にコピーしました。
 ここはftpでバイナリ転送するところですが、samba共有は便利なのでだいたいこの方法を利用しています。
●ソースファイルの解凍・展開(以降は全てroot権限でログインして作業しました。)

 ・カレントディレクトリを/usr/localに移動しました。(cd /usr/local [Enter])
 ・ディレクトリ/usr/local/srcを作成しました。 (mkdir src [Enter])
 ・カレントディレクトリを/usr/local/srcに移動しました。 (cd src [Enter])
 ・ソースファイルを/usr1/mydata/etcからコピーしました。 (cp /usr1/mydata/etc/php-4.1.2.tar.gz . [Enter])
 ・ソースファイルを解凍・展開しました。 (tar zxf /usr/local/src/php-4.1.2.tar.gz [Enter])
  これにより/usr/local/src/php-4.1.2というディレクトリが作成され、配下にコンパイルに必要なファイル群が展開されました。
●コンパイルの準備

 環境に合わせた設定を行う為、configureスクリプトを使います。
 今回、Webmail機能は使用しないので、--with-imap=/usr/localオプションは外して実行しました。
 ※実際は改行せずに入力します。
 ・カレントディレクトリを/usr/local/src/php-4.1.2に移動しました。 (cd php-4.1.2 [Enter])

--------------------------------- 注始まり---------------------------------
 ・以下のコマンドを実行しconfigureしました。
  rm configure [Enter]
  ./buildconf [Enter]

・・・・・・ですが、ここでエラーが出ました。内容を見るとbuildconfをするためには「autoconf ver2.1.3が必要です

セットアップしてください」みたいなものでした。
これも調べたら、何やら色々面倒くさい作業があるようでした。
そこで、PostgreSQL+Apache+Php4で環境構築されている諸先輩方のページを色々と参考にしました。
そしたら、buildconfの記述がありません。
そこで、ソースファイルの解凍・展開(configurを削除してしまったので・・・)から再度実行してconfigureを実行しました。(これが後で致命的なものにならなければいいんだけど!)
ところで、ここでいうbuldconfは何をしているのでしょう?(調べればいいんだけど)
どなたかここをクリックして教えてちょ〜だい。

致命的みたいになりました。
(buildconfはどうやらOSに合ったコンフィグレーション・ファイルを生成しているようです。)
Apacheの起動時、"[notice] うんたらかんたら php-4.1.2 うんたら" というエラーがerror_logに出力しています。
phpinfo()を記述したhtmlファイルをブラウザで指定しても「真っ白」表示、phpという拡張子にするとダウンロード
状態、また、「SkyBoard」を指定するとソース表示になってしまいます。
phpのモジュールがApacheのスクリプトとして機能していません。
そこで、とりあえずFreeBSD CD-ROMからautoconfをインストールしました。
そして./buildconfをやったら今度はlibtool VerX.Xが無い、インストールしてくださいとのこと。
(autoconfはOK, automakeは先にFreeBSD CD-ROMからインストール済)

後でわかったのですが、buildconfを実行するには automake, autoconf, libtool が要るとのことでした。
libtoolもFreeBSD CD-ROMからインストールし./buildconfしたら libtool ver 1.4 を入れてくださいとのこと、あれ
FreeBSD CD-ROMにはありません。
そこで、ネット検索しソースをダウンロードしてコンパイル・インストールしました。
そして./buildconfです。

configure.in:124: warning: AC_PROG_LEX invoked multiple times はでましたが、なんとなく終わり
ました。


--------------------------------- 注終わり---------------------------------

平成15年10月04日 国際化版マルチバイト対応のPHP-4.2.2 をインストール下時には上の注記部分は不要でした。
本家PHP-4.2.2にマルチバイト対応のパッチを当てる時に上の操作が必要みたいに書いてました。

./configure --enable-mbstring --enable-mbstr-enc-trans --with-pgsql=/usr/local/pgsql --enable-track-vars --with-apxs=/usr/local/apache/bin/apxs --without-gd --enable-trans-sid [Enter]
●ソースのコンパイルとインストール

 以下のコマンドによりコンパイル、インストールを実施しました。

  make [Enter]

  make install [Enter]
●phpの設定ファイルの編集

作成しなくともデフォルト状態で動作しますが、細かい設定を行う場合必要になります。・・・・とのことです。
 ・php.ini-distというファイルを名前を変えて/usr/local/libにコピーしました。 (cp php.ini-dist /usr/local/lib/php.ini [Enter])
 ・viエダィタで/usr/local/lib/php.iniを開き、下記部分を確認・編集しました。 (vi /usr/local/lib/php.ini [Enter]) 
  下記は主にphpが出力するログの設定です。

以下の項目がこのようになっているかチェックし、なってなかったら修正します。

error_reporting = E_ALL & ~E_NOTICE
display_startup_errors = Off
display_errors = Off
log_errors = On
error_log = /var/log/php
;error_log = syslog
各項目の意味は、上から順番に以下のとおりです。
  • notice以外をログとして出力する
  • PHPスタートアップ時のエラーを表示しない
  • エラーを画面に表示しない
  • エラーログを出力する
  • エラーログは/var/log/phpである
    nobodyに書き込み権限があるか要確認
  • syslogにログを残さない
●確認
ローカルから(http://192.168.0.1/test.php [Enter])  こんなん表示しました。OKのようです。

                      <HTML>
                      <BODY>
                      <?M
                        phpinfo();
                      ?>
                      </BODY>
                      </HTML>
●ソースファイルの削除

 次により不要となったソースファイルを削除しました。

 rm -i /usr1/mydata/etc/php-4.1.2.tar.gz [Enter]
 rm -i /usr/local/src/php-4.1.2.tar.gz [Enter]

戻る

サイトトップへ