2009-10-19 9 views
11

अगर मैं set_time_limit(50) या ini_set('max_execution_time',50) करते हैं, तो जब मैं ini_get('max_execution_time') मेरी स्थानीय होस्ट पर गूंज मैं 50 मिलता है, लेकिन यह डिफ़ॉल्ट 30 गूँज जब मैं किसी अन्य सर्वर पर ऐसा कर और पूरी तरह से मेरे अनुरोध पर ध्यान नहीं देता । ऐसा क्यों है?ini_set, set_time_limit, (max_execution_time) - काम नहीं कर रहा

उत्तर

12

आप जब सुरक्षित मोड में चल रहा ini_set() के साथ इस सेटिंग को परिवर्तित नहीं कर सकते। एकमात्र कामकाज सुरक्षित मोड को बंद करना या php.ini में सीमा को बदलकर बंद करना है।

- पीएचपी पुस्तिका, क्रम विन्यास, description of max_execution_time

कई मेजबान सुरक्षित मोड में चलाते हैं। अन्य सर्वर उनमें से एक सबसे अधिक संभावना है।

संपादित करें: एक ही प्रतिबंध set_time_limit पर जगह में है:

इस समारोह कोई प्रभाव नहीं जब पीएचपी सुरक्षित मोड में चल रहा है है। सुरक्षित मोड बंद करने या php.ini में समय सीमा को बदलने के अलावा कोई काम नहीं है।

- पीएचपी पुस्तिका, set_time_limit पेज

+0

मैं आपको जवाब जांच दूंगा लेकिन पृष्ठ को रीफ्रेश करने से पहले मैंने इसे अभी समझ लिया! आह! लेकिन फिर, 30 सेकंड में स्क्रिप्ट त्रुटि नहीं होगी? यह मुझे क्यों बता रहा है "सर्वर से कनेक्शन रीसेट कर दिया गया है" किसी भी विचार? – Mickey

+0

अनुमान में, PHP बस समाप्त होने के बिना कनेक्शन बंद कर देता है, इसलिए सर्वर से कनेक्शन संदेश रीसेट कर दिया गया है। जिज्ञासा से, आप क्या कर रहे हैं जो 30 सेकंड से अधिक समय ले रहा है? प्रसंस्करण समय पर कटौती करने का कोई तरीका होना चाहिए जबतक कि आप एक्सएमएल या धीमे डेटाबेस के साथ बहुत अधिक काम नहीं कर रहे हैं। – Powerlord

+0

मुझे लिस्टिंग डेटा प्राप्त करने के लिए आरईटीएस (rets.org) spec के माध्यम से एकाधिक एमएलएस प्रदाताओं से कनेक्ट करना होगा। प्रति सूची लगभग 1k, और लगभग 5-12 कच्चे चित्रों के लिए? के। मैं डेटा को MySQL में सम्मिलित करता हूं, फिर यह अगले पर जाता है, (लूप में)। फिर इसे प्रत्येक लिस्टिंग और कुछ अन्य फैंसी गैर अर्थों को geocode करना है। – Mickey

1

क्या गोडाडी आपको अपने रिमोट PHP.INI फ़ाइल को संपादित करने की अनुमति देता है, या (उसी फ़ंक्शन को प्राप्त करने) उन विकल्पों को रनटाइम पर सेट करता है? कई प्रतिबंधक मेजबान (और मैं इसे गोडाडी के बारे में नहीं जानता हूं या दूसरे) आपको PHP विकल्पों के साथ या तो कॉन्फ़िगरेशन फ़ाइल के माध्यम से या रनटाइम पर WAMP पर किए जाने की अनुमति नहीं देगा। ऐसा हो सकता है कि यद्यपि आप अभी भी उस फ़ंक्शन को कॉल कर रहे हैं, लेकिन इसे लागू नहीं किया जा रहा है।

उपयोग

echo 'Time Limit = ' . ini_get('max_execution_time') . 

मैनुअल का कहना है कि अगर यह php.ini में बिल्कुल सेट है, कि इस क्रम पर आ जाएगी। PHP Manual on set_time_limit

+0

कुछ और चलाएं, इसके खिलाफ कुछ छोटा/आसान और प्रतिक्रिया जांचें। – markus

+0

मुझे अपने प्रश्न को दोबारा संपादित करना था, इस प्रकार आपकी मदद के लिए धन्यवाद। – Mickey

1

आप max_execution_time बदल सकते हैं।
अपने रूट फ़ोल्डर (जहां php.ini रहता है) में 1 लाइन (max_execution_time = 600) php5.ini अपलोड करें।

संबंधित मुद्दे