Menyegerakkan PHP dan Zon Waktu MySQL untuk Pengendalian Tarikh Tepat
Apabila menyimpan tarikh dalam MySQL menggunakan fungsi PHP date(), percanggahan boleh timbul jika zon waktu PHP dan MySQL tidak sejajar. Isu ini menjadi jelas apabila membandingkan tarikh dalam MySQL menggunakan fungsi NOW(), yang bergantung pada zon waktu pelayan.
Untuk menangani cabaran ini, pertimbangkan langkah berikut:
Tetapkan PHP Zon waktu:
<code class="php">define('TIMEZONE', 'Europe/Paris'); date_default_timezone_set(TIMEZONE);</code>
Dengan mentakrifkan pemalar dan menetapkan zon waktu PHP dengan sewajarnya, semua panggilan tarikh() berikutnya akan menggunakan zon waktu yang ditentukan.
Laraskan Zon Waktu MySQL Secara Dinamik :
Daripada menetapkan zon waktu secara manual dalam konfigurasi atau konsol MySQL, anda boleh mencapai penyegerakan secara dinamik dalam skrip PHP anda:
<code class="php">$now = new DateTime(); $offset = sprintf('%+d:%02d', $now->getOffset() / 60, abs($now->getOffset()) % 60); $db = new PDO('mysql:host=localhost;dbname=test', 'dbuser', 'dbpassword'); $db->exec("SET time_zone='$offset';");</code>
Pendekatan berbelit ini memastikan zon waktu MySQL diselaraskan dengan PHP, tanpa mengira persekitaran.
Dengan mengikuti langkah ini, anda boleh menyegerakkan zon waktu dalam PHP dan MySQL dengan berkesan, membolehkan perbandingan tarikh yang tepat dan menghapuskan percanggahan.
Atas ialah kandungan terperinci Bagaimana untuk Menyegerakkan Zon Waktu PHP dan MySQL untuk Pengendalian Tarikh yang Tepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!