茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1729118 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
PIMG_00105.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

PHP特區 : [分享]PHP 5.3.0 碰上 Date Function Warning

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[分享]PHP 5.3.0 碰上 Date Function Warning
冷日某個Case使用了最新版得XAMPP!
她的PHP版本是:PHP Version 5.3.0。
然後Case中,所有與『Date』有關的函數(Function)全部出現Warning,大致上主要在說的是:
It is not safe to rely on the system's timezone settings.
You are *required* to use the date.timezone setting or the date_default_timezone_set() function.
In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.


冷日稍微掃了一下,目前看起來,strtotime()、date()、mktime() 等都會出這個問題!
目前猜測應該是所有的DateTime都會有這個Warning!

這裡提供一些解決方案:
1.在你會用到datetime函式前,先使用:
date_default_timezone_set('Asia/Taipei');

2.或是乾脆寫一個全域的參數(冷日很愛用這招):
date_default_timezone_set('UTC+8');

3.不然,就直接在php.ini裡加上(預設是被makr掉的空白):
date.timezone=Asia/Taipei


這樣大家就可以繼續高高興興的使用各式DateTime Function了!
推眼鏡
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[分享]自動判斷 PHP 版本為 PHP4 或 PHP5 , 使用適當方式設定時區
[PHP] 自動判斷PHP版本為PHP4或PHP5, 使用適當方式設定時區(Timezone)

太久沒寫程式, 最近往往只顧著解決眼前問題,沒考慮較周詳的處理。
先前遇到的PHP版本不同(PHP4或PHP5)的設定時區問題, 其實可以有更簡單的方式, 就是利用判斷PHP版本方式來使用正確的設定時區方式;PHP的函數這麼多,總該有取得版本的方法。

寫法:
<?php //設定時區為台北, 適用 php4,ph5
if (version_compare( phpversion() , '5.1.0', '>=')){
    date_default_timezone_set('Asia/Taipei'); //PHP5設定時區, 在PHP4無法使用
} else {
    putenv("TZ=Asia/Taipei"); //PHP4設定時區的用法
}
?>

另一寫法,直接用常數 PHP_VERSION 替代 phpversion()函數:
<?php //設定時區為台北, 適用 php4,ph5
if (version_compare( PHP_VERSION, '5.1.0', '>=')){
    date_default_timezone_set('Asia/Taipei'); //PHP5設定時區, 在PHP4無法使用
} else {
    putenv("TZ=Asia/Taipei"); //PHP4設定時區的用法
}
?>

還有另一種寫法,不去判斷PHP版本,而直接判斷函數 date_default_timezone_set() 存不存在,這種方式可能更方便,類似寫法可套用在其他因版本不同而不同的函數:
<?php //設定時區為台北, 適用 php4,ph5
if (function_exists ( 'date_default_timezone_set' )){
    date_default_timezone_set('Asia/Taipei'); //PHP5設定時區, 在PHP4無法使用
} else {
    putenv("TZ=Asia/Taipei"); //PHP4設定時區的用法
}
?>


原文出處:[PHP] 自動判斷PHP版本為PHP4或PHP5, 使用適當方式設定時區(Timezone) @ 咖啡戒斷症候群 :: 痞客邦 PIXNET ::
前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|