PHP और MySQL में टाइमज़ोन को सिंक्रोनाइज़ करना
आप एक एप्लिकेशन विकसित कर रहे हैं जिसके लिए PHP date() फ़ंक्शन का उपयोग करके MySQL में दिनांक संग्रहीत करने की आवश्यकता होती है। समय अंतर की गणना करने के लिए NOW() का उपयोग करके MySQL के भीतर इन तिथियों की तुलना करना आवश्यक है। हालाँकि, PHP दिनांक() फ़ंक्शन PHP में परिभाषित समयक्षेत्र का उपयोग करता है, जबकि NOW() MySQL सर्वर में कॉन्फ़िगर किए गए समयक्षेत्र का उपयोग करता है।
इस समस्या को हल करने के लिए, आपने विभिन्न तरीकों का प्रयास किया है:
आखिरकार, MySQL समयक्षेत्र बना हुआ है अपरिवर्तित।
समाधान
मैन्युअल कंसोल कमांड या php.ini में संशोधन के बिना PHP और MySQL में टाइमज़ोन को सिंक्रनाइज़ करें:
PHP:
define('TIMEZONE', 'Europe/Paris');
date_default_timezone_set(TIMEZONE);
MySQL:
$now = new DateTime();
$mins = $now->getOffset() / 60;
$sgn = ($mins d', $hrs*$sgn, $mins);
// Assuming an existing DB connection named $db
$db->exec("SET time_zone='$offset';");
यह दृष्टिकोण सुनिश्चित करता है कि PHP और MySQL दोनों एक ही समयक्षेत्र का उपयोग करते हैं, जिससे दिनांक भंडारण और तुलना में विसंगतियां दूर हो जाती हैं। इसके अतिरिक्त, यह मैन्युअल टाइमज़ोन सेटिंग्स या वैश्विक कॉन्फ़िगरेशन फ़ाइलों के संशोधन की आवश्यकता को समाप्त करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3