亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

php語言

php與mysql時區(qū)設置的總結

時間:2024-10-01 02:21:13 php語言 我要投稿
  • 相關推薦

php與mysql時區(qū)設置的總結

  使用國外主機空間的朋友,經常會遇到時區(qū)設置的問題。PHP 腳本端的市區(qū)設置可以在 php.ini 下設置 date.timezone 鍵的值為'Asia/Shanghai' 即可。就跟隨小編去了解下吧,想了解更多相關信息請 持續(xù)關注我們應屆畢業(yè)生考試網!

php與mysql時區(qū)設置的總結

  使用國外主機空間的朋友,經常會遇到時區(qū)設置的問題。

  PHP 腳本端的市區(qū)設置可以在 php.ini 下設置 date.timezone 鍵的值為 'Asia/Shanghai' 即可。

  通常共享虛擬主機本身沒有修改 php.ini 權限。此時就應該在程序公共部分加入:

  ini_set('date.timezone','Asia/Shanghai'); 動態(tài)修改 php.ini 的設置。之后可以測試一下時間是否正確:

  var_dump(date());如果服務器的本地時間是正確的,那么一般就能解決問題了。

  附,PHP 5.1 以上提供了專門的函數修改對應的時區(qū):

  date_default_timezone_set('Asia/Shanghai');建議使用此函數,因為更通用一些。對應 'Asia/Shanghai' 其他可以使用的大陸時區(qū)還有:Asia/Chongqing 、Asia/Shanghai 、Asia/Urumqi (依次為重慶,上海,烏魯木齊);港臺地區(qū)可用:Asia/Macao、Asia/Hong_Kong、Asia/Taipei(依次為澳門,香港,臺北);還有新加坡:Asia/Singapore;其他可用的值是:Etc/GMT-8、Singapore、Hongkong、PRC;老外好像把北京漏調了。

  但是,在我修改成功 PHP 端的時區(qū)以后發(fā)現(xiàn)日期并沒有正確的記錄下來。這個時候我考慮是否是數據庫的問題。果不其然,因為程序插入的函數并沒有調用 PHP 的時間,而是直接使用 MySQL 的 CURRECT_TIMESTAMP。這個時候就要考慮是否能修改 MySQL 方面的時區(qū)。

  參考了 MySQL 的文檔,發(fā)現(xiàn)一個可行的 SQL 語句為:

  SET GLOBAL time_zone = '+8:00';

  其中 '+8:00' 是東八區(qū)的表示方法,其他的市區(qū)依次類推。而我在數據庫模型中插入改語句發(fā)現(xiàn)權限不夠。

  接下來調試了很多語句,比如:

  DATE_ADD(UTC_TIMESTAMP(), INTERVAL 8 HOUR);

  顯示時區(qū)的 SQL 語句:

  SHOW VARIABLES LIKE 'system_time_zone' 等等。

  由于 MySQL 權限的限制并沒有徹底的解決方案。我 Google 了下,發(fā)現(xiàn)老外這個有一個非常好的解決方案。但是他需要修改每條插入數據的 SQL 語句。這樣的方案并不是非常的有效,一旦數據庫時區(qū)改成正常,那么相應的 SQL 語句又要改回來。

  而我考慮既然 PHP 端已經可以正確的解決時間的問題了。MySQL 數據庫方面雖然可以使用相應的函數解決,但是如果日后遷移到別的主機環(huán)境又要改回來。而相應的字段是一個 TIMESTAMP 類型的,默認的值為 CURRECT_TIMESTAMP,當然是可以指定時間的。

  我的做法就是讓 PHP 插入當前正確的時間,這樣雖然程序方面需要做相應的修改。不過日后配置修改起來只要修改一處就可以了。

  最后插入數據庫的時間注意一下格式:

  date('Y-m-d H:i:s')

  參考文章:

  http://www.modwest.com/help/kb6-256.html

  在自己的主機上可以這樣設置:

  SET GLOBAL time_zone = '+8:00';

  可惜了,不能用 UNIX_TIMESTAMP() 這樣的函數了。

【php與mysql時區(qū)設置的總結】相關文章:

php與php MySQL之間的關系10-03

php查詢mysql的實例09-09

PHP常用MySql操作的方法10-11

php+mysql注射語句構造07-24

PHP中MySql操作是什么07-24

php連接mysql數據庫代碼08-01

PHP數據庫:mysql重置密碼07-20

PHP開發(fā)者常犯的10個MySQL錯誤08-29

php查詢mysql多條件判斷輸出展示實例09-06

一段經典php mysql分頁程序代碼08-11