- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPiniレベルで、strtotime()とdate()のエラー表示させない方法)
PHPiniレベルで、strtotime()とdate()のエラー表示させない方法
このQ&Aのポイント
- PHPでのstrtotime()とdate()のエラー表示を回避する方法について知りたいです。
- 自分のサーバーでPHPを実行した場合にのみ、strtotime()とdate()のエラーが表示されますが、正常に動作しています。PHPiniの設定を変えることでこの表示をなくすことは可能でしょうか?
- スクリプトレベルでの回避策を試してもエラーが表示される場合、PHPiniの設定を変更することでエラー表示を回避できるか知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1ですが、何をやりたいのか良くわからないので補足お願いできますか。 ・やりたいこと ・現状のその部分のソース この2つを提示してくださいませ。 ちなみにtime関数の値は正常だと思います。
その他の回答 (1)
- ttyp03
- ベストアンサー率28% (277/960)
回答No.1
とりあえず php.ini レベルで対処するならば、スクリプト内で対応しているように error_reporting を E_ERROR にでも設定しておけばよさそうですが、それ以前に strtotime関数と date関数の使い方が間違っているような感じがします。 エラーメッセージから察するに、date関数はWindowsの場合、1970/1/1から使用可能です、と言っていると思われますが(マニュアルにもそう書かれています)1970年以前の値を指定しているのではないでしょうか? 引数なしで使用しようとしているみたいなので、やりたいことは現在日時のタイムスタンプを取得なのでしょうか? それならば time関数を使用すれば解決しそうですが…。
質問者
お礼
お返事有難う御座います。 >引数なしで使用しようとしているみたいなので、やりたいことは現在日時のタイムスタンプを取得なのでしょうか? それならば time関数を使用すれば解決しそうですが…。 すべておっしゃるとおりでした。 引数は無いといいましたが、取り立てて書くほどのものでは無いので無いといいましたが おっしゃるとおりで、time関数も使用しているのです。 どうやらDEBUGでtime関数の値がめちゃくちゃな事がわかりました。 TIME=1145253677 これが原因ですね。 これはどこを設定すれば良いのでしょうか? どうぞ宜しくお願い致します。
お礼
お返事有難う御座います。 >ちなみにtime関数の値は正常だと思います。 これでやるべき事が絞れました。 やりたい事と部分ソースです。 先ほどの説明にもありましたがPHPinino設定が 今までのサーバーと異なっていたようです。 以下のスクリプトで回避できました。 $reg_ = $col2_["regdate"]; //投稿時間によってNEWマークを付ける if($reg_!=''){ $regtimer = date("U",strtotime($reg_)); if ((time()-$regtimer)<(3*3600) && $reg_!='') { $new_txt='+new'; }else{ $new_txt=''; } }else{ $date_txt=''; } if($reg_!=''){~~~ この判別処理が無かったため、空欄の場合にエラー表示されていたようです。 今まで何百も訂正前のスクリプトでシステム構築していましたが エラーが出たのは今回構築したサーバーが始めてでした。 サーバー、PHP共に勉強になりました。 有難う御座いました。