php.iniのtimezoneの設定

1,097 views
Skip to first unread message

Masayuki Tadano

unread,
May 14, 2012, 6:43:58 AM5/14/12
to symfony-...@googlegroups.com
ただのと申します。

php.iniのtimezoneの設定で困っておりまして、ご存知の方がいらしたらよろしくお願いいたします。

MacBookAir(MacOS 10.7.3)にて、以下のようなアプリケーションをいれました。
MAMP 2.0.5 (php5.3.8 MySQL 5.5.9)
Sympony 2.0.12

ここを見て、少し変更しながら進めておりましたが、
php app/console doctrine:schema:update --force
のコマンドを実行した際に、
「DateTime::__construct(): 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」
となってしまいます。
php.ini(Applications/MAMP/bin/php/php5.3.6/conf/php.ini)には、もともとtimezoneの設定
が次のように設定されています。
[Date]
; Defines the default timezone used by the date functions
; Will be changed by MAMP to system timezone
date.timezone = Asia/Tokyo


↑のサイトにも似たようなことが書かれていますが。
「やっぱし「date.timezone = "Asia/Tokyo"」になってました。そりゃそうだ、前に直したもんな。なんぞや?...やっぱしググれ俺。
って事で、それっぽい記事を見つけました。tech tech -テクテクブログ-の記事(感謝感謝)を参考にバックアップとコピーする。

の解決策が見つからずの状態です。
テーブルを作成するのは、mysqlコマンドでも出来ますが、このままだとDB連携のプログラムで
また、同様のエラーが出てしまわないかという疑問もあります。
ただ、Symfonyを使わないフツーのPHPのプログラムでは、DB連携のプログラムは動いています。


今までは、Linuxでソースからコンパイルというのは何度かやったことがあります。
その時にも、timezoneの設定がないときには、警告などが出ていて設定した記憶は
ありました。
MacやMAMPなどが初めてで、なにか不足していることがあるかどうかがよくわからない状態です。


以上、よろしくお願いいたします。


Masaki Kagaya

unread,
May 14, 2012, 9:29:28 AM5/14/12
to symfony-...@googlegroups.com
加賀谷です。php.ini を編集しても反映されないということは php コマンドが php.ini を読み込んでいないということではないでしょうか?

余談ですが、Debien/Ubuntu では php コマンドと Apache 用の php.ini がそれぞれ別に用意されています。

php コマンドが読み込む ini ファイルを調べるには --ini オプションを指定します。
php --ini

MAMP をインストールしていないので確認できないのですが、stackoverflow の回答 (http://stackoverflow.com/questions/6194003/timezone-with-symfony-2 ) によれば、デフォルトで読み込みの対象となる /etc ディレクトリであるそうなので、sudo コマンドを使って php.ini ファイルをコピーしてください。

sudo cp Applications/MAMP/bin/php/php5.3.6/conf/php.ini /etc/

Mac OS X には /etc 以下に php.ini.default が用意されているので、これをリネームする選択肢もあります。

sudo cp /etc/php.ini.default /etc/php.ini 

最後に再度 php --ini を実行して php.ini が読み込まれたことを確認してください。



2012年5月14日 19:43 Masayuki Tadano <duke....@gmail.com>:


--
-------------------
Symfonyに関する疑問・質問、ユーザー会の活動やサイトに対するご意見、その他雑談など、お気軽にMLへ投稿してください!
 
 
日本Symfonyユーザー会
http://www.symfony.gr.jp/
 
日本Symfonyユーザー会メーリングリスト
http://groups.google.com/group/symfony-users-ja

Masayuki Tadano

unread,
May 14, 2012, 10:04:28 AM5/14/12
to symfony-...@googlegroups.com
ただのです。

早速ありがとうございます。
今までのLinuxといっても、CentOSで、ソースからコンパイルばっかりでしたので、
別に容易されているなんてことは思いもしなかったです。

で、ご指摘の、
php --ini
としてみると、

Configuration File (php.ini) Path: /etc
Loaded Configuration File:         (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

と出てくるので、ご指摘の通り、/etc 配下の物が読みこまれているようです。
これで、すこし光明がみえました。
続きは明日またやってみます。再度詰まった時には、またよろしくお願いいたします。


2012年5月14日月曜日 22時29分28秒 UTC+9 Masaki Kagaya:

Masayuki Tadano

unread,
May 14, 2012, 8:51:49 PM5/14/12
to symfony-...@googlegroups.com
お世話になります、ただのです。

とりあえず、目的は達成できました。

で、原因だったのは、もともと php が入っていたんですね、…。

> で、ご指摘の、
> php --ini
> としてみると、
>
> Configuration File (php.ini) Path: /etc
> Loaded Configuration File: (none)
> Scan for additional .ini files in: (none)
> Additional .ini files parsed: (none)

なんで、/etc に php.ini.default なんているファイルがあるんだろうと思い、
which php (→ /usr/bin/php)
としたところ、もともとバージョン 5.3.8 が入っておりました。
自分で入れたのか、何かで入ったのかは記憶は定かでは無いですが。
でも、今回の挙動の原因が判明し、対処方法もわかりました。

ありがとうございました。

2012年5月14日 23:04 Masayuki Tadano <duke....@gmail.com>:
--
Masayuki Tadano <duke....@gmail.com>

Masaki Kagaya

unread,
May 15, 2012, 1:29:45 AM5/15/12
to symfony-...@googlegroups.com
加賀谷です。Mac OSX には PHP がデフォルトで入っています。MAMP の PHP コマンドを利用するには PATH を修正する必要があります。


調べると MAMP 付属の PHP のバージョンは 5.3.2 ですが、 Symfony 開発版の最小バージョンが 5.3.3 に引き上げられましたので、今年以内にリリースされる Symfony 2.1 で開発を行う場合は MAMP のバージョンアップを待つか、別の構成管理システムを導入する必要があります。 

http://www.mamp.info/en/mamp/index.html

PHP 5.3.2 と 5.3.8 の違いは PDO で MySQL に接続する際に文字エンコーディングを指定して SQL インジェクション対策ができるようになったこことです。Shift_JIS を利用している場合は次の記事をご覧ください。

PDOにおける一応の安全宣言と残る問題点


2012年5月15日 9:51 Masayuki Tadano <duke....@gmail.com>:
Reply all
Reply to author
Forward
0 new messages