[PHP-users 6709] Re: PHP4のインストール時の makeエラーで困っています

Masashi Ohba php-users@php.gr.jp
Fri, 05 Apr 2002 18:58:38 +0900


大場です。

竹村 秀明 wrote;

>PHP4はマンモス本付属のPHP-4.0.1pl2を使用しました。

マンモス本ではPostgreSQLは7.0.2が前提ですから
「手順の通り」でも複数のソフトが絡んでいるならば
ソフトのバージョンが違ってると、その「手順の通り」は
すでに正しくないこともありえるわけで、
手順を変更をしなければならないことは普通に起こりうることです

PHP-4.0.1pl2ってのは、言い方は悪いですが
PHP4の中でもすでに「化石」「遺物」並に古いバージョンです
PHP3の方が古く見えますが、実はPHP3.0.18の方がはるかに新しいのです。

なので、PHP3では問題無いけど、PHP4の方はバージョンが古すぎるので

>php-pgsql.h:32:postgres.h:そのようなファイルやディレクトリはありません

PHP4のconfigureはpostgres.hを探すんだけど
最近のPostgreSQLをインストールすると
そのようなファイルはありません。

こっちのマシンはPostgreSQL7.2ですがヘッダファイル置き場所は
gw> cd /usr/local/pgsql/include/
gw> ll
total 54
-rw-r--r--   1 pgsql  pgsql   2049 Feb 12 14:42 ecpgerrno.h
-rw-r--r--   1 pgsql  pgsql   1783 Feb 12 14:42 ecpglib.h
-rw-r--r--   1 pgsql  pgsql   1999 Feb 12 14:42 ecpgtype.h
drwxr-xr-x   4 pgsql  pgsql    512 Feb 12 14:42 internal
-rw-r--r--   1 pgsql  pgsql    402 Feb 12 14:42 libpgeasy.h
-rw-r--r--   1 pgsql  pgsql    672 Feb 12 14:42 libpgtcl.h
drwxr-xr-x   2 pgsql  pgsql    512 Feb 12 14:42 libpq
-rw-r--r--   1 pgsql  pgsql  12550 Feb 12 14:42 libpq-fe.h
-rw-r--r--   1 pgsql  pgsql  22867 Feb 12 14:42 pg_config.h
-rw-r--r--   1 pgsql  pgsql    563 Feb 12 14:42 pg_config_os.h
-rw-r--r--   1 pgsql  pgsql   1409 Feb 12 14:42 postgres_ext.h
drwxr-xr-x  19 pgsql  pgsql   1024 Feb 12 14:45 server
-rw-r--r--   1 pgsql  pgsql    923 Feb 12 14:42 sql3types.h
-rw-r--r--   1 pgsql  pgsql   1157 Feb 12 14:42 sqlca.h

という感じです。
7.0.2はすでに身の回りに1台も存在しないので
postgres.hの有無は確認できませんが。

PostgreSQLの方が過去との互換性が若干無くなったとも
言えなくも無いのかもしれませんが、
PHP4は開発途中で、postgres.hが無くても、
ちゃんとpostgres_ext.hを探すように仕組まれたような記憶があります。
今のPHP4なら、何ら問題無くコンパイルできるはずです。

>と表示されてその後のコンパイルを行えないようです。
>何がいけないのでしょうか?

なので、PHP4.1.2を使ったら問題無くインストールできるでしょう
ついでに言いますとApacheも結構古いです。


こういうものを入れる時は

1.古かろうがなんだろうが全部本に合わせる
 部分的に違う物を使うと開発の途中の変更ではまる
 ただし、古すぎでセキュリティ的に難ありな場合は
 危ないバージョンを使うのは勝手だけど
 外から見える所には置かないで欲しいし
 「それはやめろ」「入れ替えろ」といわれる

2.ソースから入れないでrpmを使う(Linuxの場合)
※ただし、自分の目的にはあわない設定になっている場合もある 

3.本はあくまでも参考程度にとどめて、全てを安定しているソースの
 最新版を使用する
 当然、参考書とは挙動が異なる事も多い。

#「古すぎる」ものはほとんどの場合に安全じゃないことがあるし、
#MLでの話が合わなくなるし、私なら3をすすめます。

------------------------------------------------------------
大場正志(Masashi Ohba)
E-Mail  ohba@intelight.co.jp
(株) インテライト
http://www.intelight.co.jp
------------------------------------------------------------