PHPの勉強をするため、MAMPの設定をしていた時に陥ったミスをメモに残します。
date関数
date関数を使って、下記を出力します。
print(date( 'G時 i分 s秒'));
通常は下記のように出力されます。
[●●時 ●●分 ●●秒]
実行した際に出力された時間が現時刻と違ったため、
timezoneの設定を行いました。
php.iniファイル
date.timezone = "Europe/Berlin" → "Asia/Tokyo"
に変更。
apacheを再起動して一件落着!と思ったら、反映されない…
パスが違った…
よくよく見るといじっていたファイルが違うようでした。
誤:/Applications/MAMP/conf/php(バージョン番号)
正:/Applications/MAMP/bin/php/php(バージョン番号)/conf/
それでも反映されない
設定するファイルは間違っていないようでしたが、何故かtimezoneがno valueとなっていました。
apacheの再起動ができておらず、反映できていないといった凡ミスもなし。
この時点ではもうわけがわからなくなっていました。
「そういうオチ!?」
1時間くらいググって調べていましたが、ある記事であっけなく解決しました。
php.ini の ;date.timezone がコメントアウトされているので、date.timezone = Asia/Tokyo のように設定するだけです。php.iniは、複数存在している場合があるので、locate php.ini などで検索して、すべてにタイムゾーンを設定してください。
つまり、
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone ;date.timezone = "Asia/Tokyo"
↓
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = "Asia/Tokyo"
「 ; 」これだけ!
初学者らしいいいミスだったなぁと思い、投稿します。
ご査収のほどよろしくお願いいたします。