2012-03-20 10 views
1

私はWordpress用のPHPスクリプトを作成しています。私たちのシステムへのAPIコールを作成しています。正規表現を使って、私はそれをUnix Epochから数秒で取り除いた。私が理解しているように、私はDateTime :: createFromFormat( 'U'、$ time)を使ってDateTimeオブジェクトを作成することができます。スクリプトはそれに遭遇するとその実行を中止します(その時点までのすべてを実行します)。私はtry/catchでラップしていますが、実行されていなくても単に「死んでしまった」と思います。コード行に達したときにPHPが実行を停止する

ここでは何が起こっていますか?ページへ

preg_match_all('/\d+/', $post->discussion->posttime, &$ms); 
$ms = $ms[0]; 
var_dump($ms[0]); 
$time = substr($ms[0], 0, strlen($ms[0]) - 3); 
var_dump($time); 
$date = DateTime::createFromFormat('U', $time); 
//Nothing after the above line is executed 
var_dump($date); 
... 

出力は次のようになります。私は、日付と時刻の行の後に置く

string(13) "1332244919776" 
string(10) "1332244919" 

何も表示されない(または私の知る限り、実行)されます。私はオンラインの有効なUnixタイムスタンプを使用しましたが、それでも動作しません。私は他のフォーマット( 'Y-m-d')と日付ストリングフォーマットの一致を試してきましたが、どれもうまくいきませんでした。新しいDateTime()を使用して、通常の 'now' DateTimeオブジェクトを作成します。しかし、動作します。

+3

他に先にこの行を追加してください: 'error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);'。その後、スクリプトを実行し、出力をお知らせください。 –

+0

はい、間接的な答えは、エラー報告を有効にして何がうまくいかないかを調べることです。シンプルなコーデックを追加してください。 'ini_set(" display_errors "、" 1 ");も追加する必要があります。 – octern

答えて

1

エラーが報告されて致命的なエラーが発生したようです。

問題の原因としては、PHP < 5.3を使用している可能性が考えられます。バージョン5.2でDateTimeオブジェクトが追加されている間に、createFromFormatのサポートがバージョン5.3で追加されました。

+0

phpinfoは "PHPバージョン5.2.13"と言っています。ありがとう。 –

+0

@Chrisよろしくお願いします。 – jeroen

関連する問題