私は自分のアプリケーションにsymfony2を使用しています。日付型フォームフィールドの検証中に、symfonyは渡された文字列の日付値を解析しようとします。何らかの理由でこれはローカルで機能しますが(MAMPとphp 5.3.6を実行)、リモートのfedoraサーバーでは失敗します。(php 5.3.8)。ここにいくつかの詳細があります、私は関連するかもしれないものをすべて含めています。
私が使用している新しいIntlDateFormatterをインスタンス化するとき
locale: en_US_POSIX
date format: 2
time format: -1
timezone: America/Chicago
calendar: 1
pattern: MM-dd-yyyy
解析は、2012年11月21日のような日付を使用してIntlDateFormatterで呼び出されます
$timestamp = $this->getIntlDateFormatter()->parse($value);
これがgetIntlDateFormatterメソッドです。
protected function getIntlDateFormatter()
{
$dateFormat = $this->dateFormat;
$timeFormat = $this->timeFormat;
$timezone = $this->outputTimezone;
$calendar = $this->calendar;
$pattern = $this->pattern;
return new \IntlDateFormatter(\Locale::getDefault(), $dateFormat, $timeFormat, $timezone, $calendar, $pattern);
}
文字列の日付値からローカライズされた日時値への変換を処理するクラス全体がここにあります...
これにより、解析が失敗します。エラーには、intl_get_error_message()を使用してアクセスできます。
リモートマシン上のphpinfo()からのスニペットは次のとおりです。
そしてそれが役立つなら...phpinfo().....全体のスクリーンショットhttp://f.cl.ly/items/3q2q2C3Z0b0K1a0F0c3F/phpinfo%20.png