CentOS6系にPHP4をインストール

## 環境

```shell-session
$ cat /etc/redhat-release 
CentOS release 6.9 (Final)
$ uname -sr
Linux 2.6.32-696.el6.x86_64
```

## ビルドに必要なライブラリをインストール

```shell-session
# yum -y install flex libcurl-devel libxml2-devel libjpeg-turbo-devel libpng-devel freetype-devel
```

## ソースのダウンロード

```shell-session
# mkdir /root/src
# cd /root/src
# wget https://museum.php.net/php4/php-4.4.9.tar.gz
# tar zxvf php-4.4.9.tar.gz 
# cd php-4.4.9
```

## OpenSSLのバージョンが合わなくてmakeでこける

php4のソースの openssl.c を openssl1.0.0に合わせる
参照：[【php】CentOS6（Scientific Linux 6）にて php4がコンパイルできない（別解）](https://www.softel.co.jp/blogs/tech/archives/3777)

```shell-session
# mv ext/openssl/openssl.c ext/openssl/openssl.c.org
# wget https://www.softel.co.jp/blogs/tech/wordpress/wp-content/uploads/2012/10/openssl.c -O ext/openssl/openssl.c
```

## libjpeg, libpngのconfigure修正
参照：[64bitカーネルのLinuxにPHP4を入れる場合。](http://akuwano.hatenablog.jp/entry/20070328/1175097502)

```shell-session
# cp -p configure configure.org
# vi configure
```

```diff
# diff -uBb configure.org configure                                                                                                                                                    
--- configure.org       2008-08-06 17:36:41.000000000 +0900                                                                                                                                                 
+++ configure   2018-08-08 10:55:44.327900515 +0900                                                                                                                                                         
@@ -21232,8 +21232,8 @@                                                                                                                                                                                     
   withval="$with_jpeg_dir"                                                                                                                                                                                 

     for i in $withval /usr/local /usr; do                                                                                                                                                                  
-      if test -f "$i/lib/libjpeg.$SHLIB_SUFFIX_NAME" -o -f "$i/lib/libjpeg.a"; then                                                                                                                        
-        CPDF_JPEG_DIR=$i                                                                                                                                                                                   
+      if test -f "/usr/lib64/libjpeg.$SHLIB_SUFFIX_NAME" -o -f "/usr/lib64/libjpeg.a"; then                                                                                                                
+        CPDF_JPEG_DIR=/usr/lib64                                                                                                                                                                           
         break;                                                                                                                                                                                             
       fi                                                                                                                                                                                                   
     done
@@ -33554,7 +33554,7 @@
   if test "$PHP_JPEG_DIR" != "no"; then

     for i in $PHP_JPEG_DIR /usr/local /usr; do
-      test -f $i/lib/libjpeg.$SHLIB_SUFFIX_NAME -o -f $i/lib/libjpeg.a && GD_JPEG_DIR=$i && break
+      test -f /usr/lib64/libjpeg.$SHLIB_SUFFIX_NAME -o -f /usr/lib64/libjpeg.a && GD_JPEG_DIR=/usr/lib64 && break                                                                                         
     done

     if test -z "$GD_JPEG_DIR"; then
@@ -33829,7 +33829,7 @@
   if test "$PHP_PNG_DIR" != "no"; then

     for i in $PHP_PNG_DIR /usr/local /usr; do
-      test -f $i/lib/libpng.$SHLIB_SUFFIX_NAME -o -f $i/lib/libpng.a && GD_PNG_DIR=$i && break
+      test -f /usr/lib64/libpng.$SHLIB_SUFFIX_NAME -o -f /usr/lib64/libpng.a && GD_PNG_DIR=/usr/lib64 && break                                                                                            
     done

     if test -z "$GD_PNG_DIR"; then
@@ -33840,7 +33840,7 @@
       { echo "configure: error: PNG support requires ZLIB. Use --with-zlib-dir=<DIR>" 1>&2; exit 1; }
     fi

-    if test ! -f $GD_PNG_DIR/include/png.h; then
+    if test ! -f /usr/include/png.h; then
       { echo "configure: error: png.h not found." 1>&2; exit 1; }
     fi

@@ -35350,7 +35350,7 @@
   if test "$PHP_JPEG_DIR" != "no"; then

     for i in $PHP_JPEG_DIR /usr/local /usr; do
-      test -f $i/lib/libjpeg.$SHLIB_SUFFIX_NAME -o -f $i/lib/libjpeg.a && GD_JPEG_DIR=$i && break
+      test -f /usr/lib64/libjpeg.$SHLIB_SUFFIX_NAME -o -f /usr/lib64/libjpeg.a && GD_JPEG_DIR=/usr/lib64 && break
     done

     if test -z "$GD_JPEG_DIR"; then
```

## ビルドとインストール

```shell-session
# ./configure \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-apxs2=/usr/sbin/apxs \
--with-pgsql=/usr/lib64/pgsql \
--enable-mbstring \
--enable-mbstr-enc-trans \
--without-mysql \
--with-gd \
--with-dom \
--with-zlib-dir=/usr \
--enable-gd-native-ttf \
--with-freetype-dir=/usr \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-iconv \
--with-curl \
--enable-versioning \
--enable-dbx \
--with-emoji \
--with-authcheck \
--enable-ftp \
--with-openssl \
&& make && make install
```

## バージョン確認

```shell-session
# php -v
PHP 4.4.9 (cli) (built: Aug  14 2018 00:00:00)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
```