php hindi - क्या ini_set('max_execution_time', 0)एक बुरा विचार है?




tutorial pdf (3)

आपको परेशान करने के जोखिम में;

तुम गलत सवाल पूछ रहे हो। आपको डिफॉल्ट से भटकने के लिए एक कारण की आवश्यकता नहीं है, लेकिन दूसरे तरीके से। ऐसा करने के लिए आपको एक कारण चाहिए। वेब सर्वर चलाते समय और उस सेटिंग को अक्षम करने के लिए टाइमआउट पूरी तरह से आवश्यक है, यह स्वाभाविक रूप से अच्छी प्रैक्टिस के विपरीत है, भले ही यह एक वेब सर्वर पर चल रहा हो, जिसमें स्वयं का टाइमआउट निर्देश होता है।

अब, असली जवाब के लिए के रूप में; शायद इस विशेष मामले में यह बिल्कुल भी मायने नहीं रखता है, लेकिन एक अलग प्रणाली की सेटिंग से जाना बुरा है। क्या होगा यदि स्क्रिप्ट को बाद में एक अलग सर्वर पर एक अलग टाइमआउट के साथ चलाया जाता है? यदि आप सुरक्षित रूप से कह सकते हैं कि यह कभी नहीं होगा, ठीक है, लेकिन अच्छा अभ्यास काफी हद तक प्रतीत होता है कि अप्रत्याशित घटनाओं के लिए लेखांकन के बारे में है और पूरी तरह से अलग-अलग प्रणालियों की सेटिंग्स और कार्यक्षमता के साथ अनावश्यक रूप से बांधना नहीं है। इस तरह के सिद्धांतों को खारिज करना सॉफ्टवेयर की दुनिया में बहुत सारी व्यर्थ असंगतताओं के लिए जिम्मेदार है। लगभग हर बार, वे अप्रत्याशित हैं।

क्या होगा यदि वेब सर्वर बाद में कुछ अन्य रनटाइम वातावरण चलाने के लिए सेट किया गया है जो केवल वेब सर्वर से टाइमआउट सेटिंग विरासत में मिली है? उदाहरण के लिए मान लें कि आपको बाद में C ++ में एक 15-वर्षीय CGI प्रोग्राम लिखा है, जो किसी ऐसे व्यक्ति द्वारा लिखा गया है, जो एक अलग महाद्वीप में चला गया है, जिसे वेब सर्वर के अलावा किसी भी टाइमआउट का कोई विचार नहीं है। इसके परिणामस्वरूप टाइमआउट को बदलने की आवश्यकता हो सकती है और क्योंकि PHP अपने स्वयं के बजाय वेब सर्वर के टाइमआउट पर निर्भर है, जिससे PHP स्क्रिप्ट के लिए समस्या हो सकती है। या दूसरे तरीके से, कि आपको किसी कारण से कम वेब सर्वर टाइमआउट की आवश्यकता है, लेकिन पीएचपी को अभी भी इसे उच्चतर करने की आवश्यकता है।

यह वेब सर्वर के लिए PHP कार्यक्षमता को टाई करने के लिए सिर्फ एक अच्छा विचार नहीं है क्योंकि वेब सर्वर और PHP विभिन्न भूमिकाओं के लिए जिम्मेदार हैं और इसे यथासंभव कार्यात्मक रूप से अलग रखा जाना चाहिए। जब PHP पक्ष को अधिक प्रसंस्करण समय की आवश्यकता होती है, तो इसे PHP में बस एक सेटिंग होना चाहिए क्योंकि यह PHP के लिए प्रासंगिक है, जरूरी नहीं कि वेब सर्वर पर बाकी सब कुछ हो।

संक्षेप में, यह अनावश्यक रूप से इस मामले का सामना कर रहा है जब कोई आवश्यकता नहीं है।

अंतिम लेकिन कम से कम, 'अभी भी' सही है; आपको set_time_limit() तुलना में कम से कम set_time_limit() उपयोग करना चाहिए।

आशा है कि यह बहुत संरक्षण और परेशान नहीं था। जैसा कि मैंने कहा, शायद यह आपकी विशिष्ट परिस्थितियों में ठीक है, लेकिन आपकी परिस्थितियों को वन ट्रू सर्कमस्टेंस मानने के लिए अच्छा नहीं है। बस इतना ही। :)

क्या PHP कॉन्फ़िगरेशन चर को max_execution_time 0 पर सेट नहीं करने का एक अच्छा कारण है?

एक सहकर्मी ने हाल ही में एक फ़ाइल में बदलाव के लिए जाँच की जो गयी:

ini_set('max_execution_time', 0);

डिफ़ॉल्ट मान उस पृष्ठ के लिए बहुत कम था जिसने उपयोगकर्ता को आउटपुट वापस करने से पहले कुछ जटिल प्रसंस्करण किया था।

मैनुअल बताता है कि सेटिंग का मुख्य उद्देश्य निम्नलिखित है:

सर्वर को बांधने से खराब लिखित स्क्रिप्ट को रोकना।

लेकिन यह भी राज्य के लिए जाता है:

आपके वेब सर्वर में अन्य टाइमआउट कॉन्फ़िगरेशन हो सकते हैं जो PHP निष्पादन को बाधित कर सकते हैं। अपाचे में एक टाइमआउट निर्देश है और आईआईएस में एक सीजीआई टाइमआउट फ़ंक्शन है। दोनों 300 सेकंड के लिए डिफ़ॉल्ट। विशिष्ट विवरणों के लिए अपना वेब सर्वर प्रलेखन देखें।

हम अपाचे के नीचे चल रहे हैं, ताकि टाइमआउट सेटिंग लागू हो। क्या विश्व स्तर पर max_execution_time को शून्य पर सेट करने का कोई कारण नहीं है? मैं मुख्य रूप से इस बात के लिए उत्सुक हूं कि क्या ऐसे फायदे हैं जो मैं इसे शून्य पर सेट नहीं कर रहा हूं।


कारण शून्य के अलावा कुछ मूल्य है। सामान्य अभ्यास के लिए इसे विश्व स्तर पर छोटा और लंबे समय तक काम करने वाली लिपियों जैसे कि पार्सर, क्रॉलर, डंपर, निर्यात और स्क्रिप्ट आयात करना आदि शामिल हैं।

  1. आप मेमोरी का उपयोग करके अन्य लोगों के सर्वर, भ्रष्ट कार्य को स्क्रिप्ट के बिना भी जान सकते हैं।
  2. आप गलतियां नहीं देख पाएंगे, जहां कुछ कहते हैं, अनंत लूप हुआ, और निदान करना कठिन होगा।
  3. ऐसी साइट को आसानी से एकल उपयोगकर्ता द्वारा DoSed किया जा सकता है, जब लंबे निष्पादन समय वाले पृष्ठों का अनुरोध किया जाता है

तो पीडीओ, तैयार वक्तव्य और MySQLi के बीच क्या अंतर है, क्या वे अलग-अलग विशेषताएं हैं जो एक ही कार्य को पूरा करती हैं?

अंतर काफी सरल है।
पीडीओ तैयार बयान के साथ प्रयोग योग्य है और MySqli नहीं है

मूल तैयार कथन का उपयोग करके दोनों एपीआई के साथ बस कुछ सामान्य प्रश्नों को चलाएं, और आप स्पष्ट रूप से अंतर देखेंगे।







php