Saturday, November 1, 2008

सर्भर टाईम र यसको प्रभाव

मैले वेव साईट होष्ट गर्ने गरेको सर्भर UNITED STATES (US) City: Atlanta, GA ( Latitude: 33.7629 Longitude: -84.4226 ) को भएर होला त्यहाँको र यहाँको टाईम डिफरेन्सको कारणले मलाई खुव अप्ठयारो महशुश भईरहेको थियो । PHP को date, time फङ्ग्शन परिमार्जन नगरी त कामै नलाग्ने। हालै आएर लघुकथा डट कम को कन्सेप्ट अनुसार काम गर्दा यो टाईम डिफरेन्सले झन सतायो। साईटको कन्सेप्ट चाँही प्रत्येक दिन नयाँ कथा मेन पेजमा आउनु पर्ने थियो र त्यही अनुसार कोडिङ्ग पनि गरिएको थियो।

तर टाईम डिफरेन्सको कारणले राति वार्ह वजे परिवर्तन हुनु पर्ने कथा विहान सवा एघार वजेमात्र परिवर्तन हुन्थ्यो। वेभ सर्भर रहेको स्थान नजिकै वस्ने मानिसको लागी त ठिकै हो तर मलाई चै यो डिफरेन्स मन परेन अनि मैले वेभ सर्भरको टाईम जोन फिक्स गर्ने फिचर ईनेवल गरि देउ भनेर सर्भरवाला कहाँ ई-मेल पठाए।

Servers runs on CST time zone and it cannot be changed.This will break many important updates and working serverside.


सर्भर वाला हरुको यस्तो प्रत्युतर आउने वित्तिकै मैलै मेरो अनुरोधले पार्ने प्रभाव र Y2K को समस्यास चर्चा गरे अनुसार नै भएको के हुन्थ्यो भनेर अनुमान गरे।

अनि खोज्न थाले घरेलु सामाधान !

php म्यानुवल पल्टाउदै जादाँ एउटा समाधान भेटियो जसअनुसार जुन पेजमा php को date time function चलाउनु पर्ने र त्यो पेजमा अर्थात फङ्ग्शन प्रयोग गर्ने वेलामा php को timezone veriable डिफाईन गर्ने वित्तकै यस्तो समस्या समाधान हुने रहेछ।

putenv("TZ=Asia/kathmandu");

यसरी PHP को लागी त एक किसिमले समस्या सामाधान भयो तर MySQL को लागी चाही अर्कै विल्टइन फङ्ग्शन प्रयोग गर्नु पर्यो।

date(ADDTIME(now(), '10:15:1.000002'));