私は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オブジェクトを作成します。しかし、動作します。
他に先にこの行を追加してください: 'error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);'。その後、スクリプトを実行し、出力をお知らせください。 –
はい、間接的な答えは、エラー報告を有効にして何がうまくいかないかを調べることです。シンプルなコーデックを追加してください。 'ini_set(" display_errors "、" 1 ");も追加する必要があります。 – octern