この記事は3年以上前に書かれた記事です。情報が古い可能性があります。
フォルダの中身をごそっと入れ替えて php.ini だけ流用しようと考えたけど、go-pear.bat がうまくいかず。どうも、php_pdo.dll と php_zip.dll がPHP5.3のextにはない。他にもあったものがなかったり、その逆もあったりがありそうだったので、しょうがなく php.ini からつくり直すことに。
とりあえず、
extention=php_pdo.dll
extention=php_zip.dll
はコメントアウト。これで、もう一度 go-pear.bat。
すると
phar “C:\php\PEAR\go-pear.phar” does not have a signaturePHP …云々
とかいうエラーが出てこれまた上手くいかず。
とりあえず Google先生に聞いてみたところ、
Windows 版 PHP 5.3 の go-pear.bat がエラーになる
http://ameblo.jp/phpwalker/archive1-200912.html
ということらしい。ほほうっ!
ということで、go-pear.phar を以下のように修正。
@ECHO OFF
set PHP_BIN=php.exe
%PHP_BIN% -d output_buffering=0 -d phar.require_hash=0 PEAR\go-pear.phar
pause
そして php.ini の phar.require_hash を修正?あれ?そんな項目ないな。
どうも PHP5.3 から新しくできたエントリらしい。なので、PHP5.3付属の php.ini-development を参考にエントリーごと追加。
[Phar]
; http://php.net/phar.require-hash
phar.require_hash = Off
これで go-pear.bat を実行。
上手くいった!
Apacheを起動してphpinfo()を表示してみる。
すると、dateのところで
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.
というようなエラーになっているぞ?
Google先生ー!
PHP5.3のdate関数でIt is not safe to rely on the system’s timezone settings.
http://d.hatena.ne.jp/replication/20100321/1269097359
ほうほう。5.1以降ではtimezoneの設定をしないとエラーになるんですね。
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Tokyo
これでいいかな。
改めて phpinfo()を表示してみると、万事成功。
でも、PHP5.2でもtimezone設定してなかったんだけど、そっちは上手く動いてたな。まぁ、動いたからいいやっと。