※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

PHPのインストール

PHPソースのダウンロード

www.php.netからソースコードをダウンロードします。
保存先はC:\cygwin\usr\srcにします。
(私はtar.gz版をダウンロードしたので以降はこれを例に説明します)


ちなみにわけあってPHP4で環境構築したいのでPHP4を例に説明します。
PHP5を利用する場合は適宜読み替えてください。


PHPソースの展開

下記コマンドでPHPソースを展開します。
tar zxvf php-4.4.7.tar.gz
$ cd /usr/src
$ tar zxvf php-4.4.7.tar.gz


configure実行

下記コマンドでconfigureを実行します。
./configure \
--with-apxs=/usr/sbin/apxs \
--without-mysql \
--with-mbstring \
--with-pgsql \
--enable-mbstring \
--enable-mbstr-enc-trans \
--enable-safe-mode \
--enable-debug \
--enable-magic-quotes \
--enable-track-vars \
--enable-inline-optimization
$ cd php-4.4.7
$ ./configure \
--with-apxs=/usr/sbin/apxs \
--without-mysql \
--with-mbstring \
--with-pgsql \
--enable-mbstring \
--enable-mbstr-enc-trans \
--enable-safe-mode \
--enable-debug \
--enable-magic-quotes \
--enable-track-vars \
--enable-inline-optimization 

下記のような表示が行われれば成功です。
Thank you for using PHP.


Makefile修正

下記コマンドでMakefile内のsoライブラリをdllライブラリに名称変更します。
sed -i.org 's/libphp4\.so/libphp4.dll/g' Makefile


make実行

下記のような表示が行われれば成功です。
make
$ make
Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).


DLL作成

gcc \
-shared \
-o libphp4.dll \
-Wl,--out-implib=libphp4.dll.a \
-Wl,--export-all-symbols \
-Wl,--whole-archive libphp4.a /bin/libhttpd.dll \
-Wl,--no-whole-archive \
-lcrypt \
-lresolv \
-lpq
$ cd libs
$ gcc \
-shared \
-o libphp4.dll \
-Wl,--out-implib=libphp4.dll.a \
-Wl,--export-all-symbols \
-Wl,--whole-archive libphp4.a /bin/libhttpd.dll \
-Wl,--no-whole-archive \
-lcrypt \
-lresolv \
-lpq 


lsコマンドでlibphp4.dllが存在するか確認します。
ls libphp4.dll
$ ls libphp4.dll
libphp4.dll*


インストール

make install
$ cd ..
$ make install



ApacheへのPHP設定

PHPモジュール設定

grep php4 /etc/apache/httpd.conf

下記のような表示が行われれば大丈夫です。
ない場合には追加してください。
それぞれ標準のコンフィグにおいて239行目あたりと280行目あたりです。
LoadModule php4_module   lib/apache/libphp4.dll
AddModule mod_php4.c


PHPファイル設定

/etc/apache/httpd.confに下記を追加します。
標準のコンフィグにおいて883行目あたりです。
<IfModule mod_php4.c>
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
</IfModule>



PHPの動作確認

PHPの単体動作確認

バージョン確認

下記コマンドでPHPのバージョンが確認できます。
php -v
下記のように表示されれば動作しています。
$ php -v
PHP 4.4.7 (cli) (built: Apr 21 2007 19:40:28) (DEBUG)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies


サンプルスクリプト実行

サンプルスクリプトを実行して結果が表示できるか確認します。
まず下記のような内容のphpinfo.phpというファイルを用意します。
<?php phpinfo(); ?>

下記コマンドで実行確認します。
php phpinfo.php
下記のようにPHPに関わる情報を表示できればOKです。
$ php phpinfo.php 
phpinfo()
PHP Version => 4.4.7
…


ApacheとPHPの組み合わせ動作確認

(Apacheに関してはこちらを参考にしてください)
WebブラウザにてPHPのサンプルスクリプト実行結果を確認します。
まず下記のような内容のphpinfo.phpというファイルを用意します。
<?php phpinfo(); ?>

phpinfo.phpを/var/www/htdocsに置きます。
(ApacheのDocumentRootを変更した場合はそこに置きます)

Apacheが起動中であることを確認し、Webブラウザから下記アドレスに接続します。
http://localhost/phpinfo.php

「PHP Version 4.4.7」などと表がブラウザに表示されればOKです。

ApacheとPHPとPostgreSQLの組み合わせ動作確認

(Apacheに関してはこちらを参考にしてください)
(PostgreSQLに関してはこちらを参考にしてください)
WebブラウザにてPHPのサンプルスクリプト実行結果を確認します。
まず下記のような内容のpgcon.phpというファイルを用意します。
<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=template1") or die("failed");
echo "success";
pg_close($dbconn);
?>

pgcon.phpを/var/www/htdocsに置きます。
(ApacheのDocumentRootを変更した場合はそこに置きます)

ApacheとPostgreSQLが起動中であることを確認し、Webブラウザから下記アドレスに接続します。
http://localhost/pgcon.php

「success」とブラウザに表示されればOKです。

「Unable to Connect」とエラーが表示される場合は、事前にPostgreSQLを起動したか確認してください。


その他

CygwinのApacheはブラウザからの要求に対して応答が遅いもしくは応答しないことがよくあるようです。
その場合は仕方がないのでApacheの再起動をしています。
これに関する情報をお待ちしてます。。。





以下コメント
  • 2007/04/21 PHP4.4.6向けに修正 -- uhaku (2007-04-21 19:25:51)
  • 2007/05/06 PHP4.4.7向けに修正 -- uhaku (2007-05-06 21:27:08)