mysql zaman ve php zaman aynı değil

4 Cevap php

MySQL ile current_timestamp kullandığınız zaman ben kullandığınızda, ben doğru zaman olsun, ama

$mysqldate = date( 'Y-m-d H:i:s' );

I get the date with with an hour delay (eg, 4:42 PM is 5:42 PM). I understood that both function use the server's local time - can someone explain the difference?

Teşekkürler.

4 Cevap

Küresel sistem zaman bir bölge dosyasının sembolik ya da bir kopya ya olacak, / etc / localtime dosyası üzerinden kurulacaktır / usr / share / zoneinfo / en çok sistemlerinden. Uygulamalar kendi varsayılan olarak kullanır.

PHP bir kaç farklı şekillerde bu kılabilirsiniz:

  1. date.timezone php.ini içinde
  2. TZ ortam değişkeni ayarı, örneğin putenv("TZ=US/Central");
  3. date_default_timezone_set function (PHP> = 5.1.0 ')

MySQL hemen bağladıktan sonra aşağıdaki sorguyu çalıştırarak bu kılabilirsiniz:

SET time_zone = 'US/Central'

Php yerel ayarları vardır, öyle değil sistem zaman, php.ini onu alır

Belki PHP sunucu farklı bir zaman diliminde olduğunu düşünüyor ya da zaman kuralları tasarrufu, farklı yerel ve gün ışığı kullanır.