apacheが入りましたので、お次は私にとって使用頻度が最も高いPHPをインストールします。
まずはデフォルトのPHPバージョンの確認
$ php -v
PHP 5.3.2 (cli) (built: Aug 7 2010 00:04:41)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
次にMacPortsでインストールできるPHPバージョンの確認
$ port search php
・・・
php4 @4.4.9 (lang, php, www)
PHP: Hypertext Preprocessor
php5 @5.3.3 (lang, php, www)
PHP: Hypertext Preprocessor
・・・
インストール時に指定できる variants を確認
$ port variants php5
php5 has the variants:
apache: Add Apache 1 web server module
* conflicts with apache2 no_web
[+]apache2: Add Apache 2.2 web server module
* conflicts with apache no_web
debug: Enable debug support (useful to analyze a PHP-related core dump)
fastcgi: Add FastCGI web server binary
* conflicts with no_web
gmp: Obsolete; install php5-gmp port instead
imap: Obsolete; install php5-imap port instead
ipc: Add semaphore, shared memory and IPC functions
macports_snmp: Obsolete; install php5-snmp port instead
mssql: Obsolete; install php5-mssql port instead
mysql4: Obsolete; install php5-mysql port instead
mysql5: Obsolete; install php5-mysql port instead
mysqlnd: Obsolete; install php5-mysql port instead
no_web: Don't include any web server support
* conflicts with apache apache2 fastcgi
oracle: Obsolete; install php5-oracle port instead
pcntl: Obsolete; install php5-pcntl port instead
pear: Add PEAR
postgresql82: Obsolete; install php5-postgresql port instead
postgresql83: Obsolete; install php5-postgresql port instead
pspell: Obsolete; install php5-pspell port instead
snmp: Obsolete; install php5-snmp port instead
sockets: Obsolete; install php5-sockets port instead
sqlite: Obsolete; install php5-sqlite port instead
suhosin: Add Suhosin patch
tidy: Obsolete; install php5-tidy port instead
universal: Build for multiple architectures
ほとんど「Obsolete」になっていてもう使えないもよう。、代わりに php5-**** でインストールする必要があるみたいです。
とりあえず、+apache2 と +pear だけ一緒にインストールしましょう。
$ sudo port install php5 +apache2 +pear
インストールの最後に、次のような指示がきました。
To customize php, copy
/opt/local/etc/php5/php.ini-development (if this is a development server) or
/opt/local/etc/php5/php.ini-production (if this is a production server) to
/opt/local/etc/php5/php.ini and then make changes.
If this is your first install, you need to activate PHP in your web server.
To enable PHP in Apache, run
cd /opt/local/apache2/modules
/opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
指示に従ってまずはphp.iniファイルを作成します。
$ sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini
apacheにPHPを追加
$ cd /opt/local/apache2/modules
$ /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
[activating module `php5' in /opt/local/apache2/conf/httpd.conf]
unable to open configuration file
!!sudoをつけ忘れたw 直接設定ファイルを編集することに。
phpモジュールの読み込みを追加
$ sudo vi /opt/local/apache2/conf/httpd.conf
# phpモジュールの読み込み
LoadModule php5_module modules/libphp5.so
# mod_php.confの読み込み
Include conf/extra/mod_php.conf
index.php を有効に
$ sudo vi /opt/local/apache2/conf/httpd.conf
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
# DirectoryIndex index.html
DirectoryIndex index.php index.html index.html.var
</IfModule>
インストールされたPHPのバージョン確認も忘れずに。(ターミナル再起動してね)
$ php -v
PHP 5.3.3 (cli) (built: Oct 26 2010 17:02:06)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
phpinfo で確認するとdate関数でエラーが表示されていたのでphp.ini の date.timezone を以下のように設定します。
$ sudo vi /opt/local/etc/php5/php.ini
date.timezone = Asia/Tokyo
参考サイト:Mac OS X(Snow Leopard)のMacPortsでApache2, PHP5, MySQL5をインストールし直した