ちょっと必要があって、Snow Leopard Server 上で WordPress を動かすことにした。その過程で出くわしたことを書き留めておく。全体の流れはこんな風(↓):
- PHP モジュールを有効にする
- date.timezone に関する警告
- phpinfo() を実行する
- クライアント版では・・・
PHP モジュールを有効にする
Snow Leopard Server の Web サービスは Apache が使われているが(バージョンは 2.2; in 10.6.2)、デフォルトでは PHP モジュールが無効になっている。まずは、これを有効にすることが必要。
手順は簡単で、「サーバ管理」を起動し Web の「設定」から php5_module のチェックを入れるだけ。あとはウィンドウ右下にある「保存」ボタンを押せば完了。
手作業でやったとしても、/etc/apache2
あたりの httpd.conf
を書き換えるだけなんだが、GUI があるとカンタンではある。Apache の停止や再起動も意識せずに済むし。何より、Snow Leopard Server では GUI 中心の管理作業が前提になっているから、不用意に手作業を混じえない方が良い。ちなみに、Apache の管理を手作業でやる前は /etc/apache2/ReadMe.txt
を読むべし。httpd.conf
の運用に関する注意点が書かれている。
phpinfo() を実行する
まずは、PHP モジュールが動作していることを確認するため、phpinfo() を表示させてみる。これには、通常こういうファイルを用意する(↓)。
(phpinfo.php)
1: <?php
2: phpinfo();
3: ?>
たいした手間ではないけど、Snow Leopard Server ならこれが省略できる。あらかじめ /Library/WebServer/Documents
に info.php
というファイルが用意されているからだ。内容は上とほとんど同じ。違いはコメントで注意書きがある程度。ただし、肝心な phpinfo()
を呼び出す行がコメントアウトされている。注意書きによれば、これを実行することでサーバの設定情報が見えるからだと言う。
コメントアウトを外してこのファイルを表示させてみる。上記のフォルダは Snow Leopard Server 上の Apache の DocumentRoot なので、ブラウザからこんな URL を開けば良い。
http://mini/info.php
PHP Version 5.3.0 で、2009-07-19 にビルドされたことなんかがわかる。
date.timezone に関する警告
と、ここで、Apache のエラーログをチェックしてみた。すると、こんな警告が出ていた。
PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /Library/WebServer/Documents/info.php on line 5
要は date.timezone
を設定しろ、ってこと。ぐぐってみたところ、それには php.ini を使うとわかった。Snow Leopard Server では PHP モジュールを有効にすると、/etc/php.ini
が作られる(/etc/php.ini.default
というファイルがコピーされるだけっぽい)。
該当する部分はこんな感じになっている。見てわかるようにデフォルトの状態では date.timezone
は設定されていない。
(/etc/php.ini)
1: (...)
2: [Date]
3: ; Defines the default timezone used by the date functions
4: ; http://php.net/date.timezone
5: ;date.timezone =
6: (...)
↑の5行目のコメントアウトを外し、値として Asia/Tokyo を設定すれば良い。警告メッセージは出なくなる。
クライアント版では・・・
比較のために、クライアント版の Snow Leopard でも上記のことを確認してみた。違いは以下のとおり。
- PHP モジュールを有効にするのは手作業
phpinfo()
のためのファイルは自分で用意- PHP は同じ Version 5.3.0 (ビルド時間も同一)
date.timezone
に関する警告はやはり出る/etc/php.ini
はないので、/etc/php.ini.default
を手作業でコピーする- 書き換える内容は同じ
その他
ちなみに、Snow Leopard Server には MySQL が同梱されていて、これも「サーバ管理」から有効にするだけで使える。WordPress を動かすのに必要なものは本体以外にないってこと。phpMyAdmin はインストールされていないけれど、WordPress を(ちょっと)動かすだけなら必要性は低い。
関連リンク
- PHP マニュアル
- PHPのtimezoneの設定メモ|あきらめないよー (警告メッセージの意味を探してたどりついた)
0 件のコメント:
コメントを投稿