私はこれに固執しています。このコード行はローカルで正常に動作しますが、サーバーでは失敗します。エラーメッセージはありません。私は空白のページを取得します。PHPのDateTime-.add関数はローカルでは動作しますが、サーバ上では動作しません
$tempDate->add(new DateInterval('P1M'));
私はこの動作を見ることがなぜ任意のアイデア?
私はこれに固執しています。このコード行はローカルで正常に動作しますが、サーバーでは失敗します。エラーメッセージはありません。私は空白のページを取得します。PHPのDateTime-.add関数はローカルでは動作しますが、サーバ上では動作しません
$tempDate->add(new DateInterval('P1M'));
私はこの動作を見ることがなぜ任意のアイデア?
空白のページは、おそらく致命的なエラーを意味します。エラー報告が有効になっていない可能性があるので、何も表示されません。あなたのサーバ上のPHPのバージョンとあなたのローカルのバージョンとは異なると思います。
PHP 5.3にアップグレードしたときに、デフォルトのタイムゾーンを設定していなかったので、date()
関数の使用に関連していたことがわかりました。
http://php.net/manual/en/function.date-default-timezone-set.php
それは関連していない可能性がありますが、それは試してみる価値です。例:
date_default_timezone_set('America/New_York');
あなたにぴったりのものを見つけるためにlist of supported timezonesを参照することができます。
限りエラーとして、スクリプトやブートストラップファイルの先頭にこれを追加してみてください:
ini_set('display_errors', 1);
error_reporting(E_ALL);
add()方法は、PHP/5.3.0以降が必要です。ホストが古いバージョンを使用している可能性があります。
PHP/5.2のための代替コード:エラー報告に置く
$tempDate->modify('+1 month');
は、addメソッドの呼び出しを認識しなかったことを私に示しました。 PHPのバージョン番号を確認すると、サーバー上の5.2になりました。 – IMZvonko
[ÁlvaroG. Vicarioの答え](http://stackoverflow.com/a/8626252/398242)がその解決策です。 –