घातक त्रुटि: अधिकतम 300 सेकंड का निष्पादन समय


89

मैं इस PHP त्रुटि हो रही है:

घातक त्रुटि: अधिकतम 300 सेकंड का निष्पादन समय

मैं अपने को स्थापित करने की कोशिश की है max_execution_timeऔर मेरे max_input_timeलिए php.ini में सेटिंग्स (दोनों अपाचे और CLI) 0, -1और 4000सेकंड प्रत्येक।

और मुझे अभी भी यह कहते हुए त्रुटि मिल रही है:

घातक त्रुटि: अधिकतम 300 सेकंड का निष्पादन समय

साथ ही साथ यह संदेश प्राप्त करने से पहले मेरी स्क्रिप्ट 300 सेकंड से अधिक चलती है

मैं कमांड लाइन के माध्यम से स्क्रिप्ट चला रहा हूं।

मैंने अपना चेक भी phpinfo()देखा कि php.iniमैं किसका उपयोग कर रहा हूं।

इससे भी अधिक दिलचस्प मैंने 5 सेकंड के लिए सेटिंग max_execution_timeऔर max_input_timeसेटिंग्स की कोशिश की है और मेरी स्क्रिप्ट इससे पहले कि मैं प्राप्त करता हूं:

घातक त्रुटि: अधिकतम 300 सेकंड का निष्पादन समय


आप किस तरह के सर्वर सेटअप पर हैं?
पेका

1
यह बहुत अजीब है, मैं Apache 2.4.18 और php 7 पर एक ही मुद्दा है ... sql आयात करने के लिए PHPMyAdmin का उपयोग कर रहा हूँ .. phpinfo (); अलग-अलग समय की रिपोर्ट .. आईआई सेटिंग की कोशिश करूँगा मुझे लगता है :(
माइकल फीवर

एक ही मुद्दा, मैं set_time_limit (3603) सेट करने की कोशिश करता हूं; ini_set ('max_execution_time', 3604); लेकिन दोनों का कोई प्रभाव नहीं है, अधिकतम निष्पादन समय अभी भी 360 है।
इंफोर मैट

जवाबों:


68

अपनी स्क्रिप्ट की शुरुआत में आप जोड़ सकते हैं।

ini_set('MAX_EXECUTION_TIME', '-1');

2
इसे अपनी php फ़ाइल के शीर्ष पर जोड़ें
Tules

2
कोड की यह लाइन एक कोड के अधिकतम निष्पादन समय प्रतिबंध को छोड़ देगी, जिससे php कोड हमेशा के लिए (सैद्धांतिक रूप से) चल सकेगा।
टेक्नोट्रॉनिक

2
किस स्क्रिप्ट में?
सागर कोडते

या set_time_limit(0);= वही।
46hor Mé

99

यदि आप WAMP Go का उपयोग कर रहे हैं:

तब max_execution_timeमें वृद्धि करेंphp.ini

C:\wamp\apps\phpmyadmin3.4.10.1\libraries (अपनी स्थापना के अनुसार पथ बदलें)

खुला config.default.phpऔर $cfg['ExecTimeLimit']0 के लिए मूल्य बदलें :

$cfg['ExecTimeLimit'] = 0;

यह PhpMyAdmin आयात के लिए समस्या को हल करेगा।


@ विपिन, आपने समाधान में मेरी मदद की, विशेष रूप से config.default.php ;-)
ऋषि कुलश्रेष्ठ ने

मदद करने के लिए खुश ! चियर्स :)
विपिन दुबे

शुक्रिया, हताशा के बाद hrs और निराशा के एक नए संस्करण के नए संस्करण के लिए 500 एमबी DB को अपग्रेड करने की कोशिश के बाद ...... मुझे सफलता मिली है। विशेष रूप से मूड 2.2 - 2.6।
jamesTheProgrammer

2
इस उत्तर के लिए धन्यवाद! यह समझने के बाद मेरी समस्या को सुलझाने में मदद मिली कि php.ini में अधिकतम निष्पादन समय निर्धारित करना पर्याप्त नहीं था!
रिमबल

1
config.default.phpइसे संपादित न करने के बारे में बहुत स्पष्ट है, हमें config.inc.phpइसके बजाय संपादित करने के लिए कह रहा है । मैंने इसे खोजने की कोशिश की और नहीं कर सका, इसलिए मैंने अपना खुद का बनाया और जोड़ा <?php $cfg['ExecTimeLimit'] = 3000; ?>। इसने कुछ नहीं किया। मैंने कोशिश की और इसे करने का फैसला किया config.default.phpऔर यह काम किया !! हम कैसे config.inc.phpकाम करने वाले हैं ?
बिलियनेयर

67

Xampp उपयोगकर्ता

  1. के लिए जाओ xampp\phpMyAdmin\
  2. Config.inc.php खोलें
  3. निम्न को खोजें $cfg['ExecTimeLimit'] = 300;
  4. बड़ा मान सेट करें या असीमित के लिए 0 में बदलें
  5. अगर नहीं मिला ऐड $cfg['ExecTimeLimit'] = 0;(या एक बड़ा मूल्य)
  6. फ़ाइल सहेजें और सर्वर को पुनरारंभ करें

8
यह वस्तुतः एकमात्र ऐसी चीज है जो मेरे लिए काम करती है। तो पोस्ट करने के लिए धन्यवाद। मेरे सेटअप में, $ cfg ['ExecTimeLimit'] = 300; config.inc.php में मौजूद नहीं था, इसलिए मैंने config.default.php में मान बदलने के बजाय इसे वहां जोड़ा - उस फ़ाइल में कोड को न छूने के लिए एक बड़ा संदेश है;)
Ian

4
सर्वर को पुनः आरंभ करने के लिए धन्यवाद । सबसे महत्वपूर्ण भूलने की बात।
प्रदीप कुमार प्रभारण

4
Config.default.php फ़ाइल में एक नोट है जो कहता है "नहीं !! संपादित न करें"। मैंने $ cfg ['ExecTimeLimit'] = 0 जोड़ा; मेरे config.inc.php फ़ाइल के बाद से यह मौजूद नहीं था और यह काम करने के लिए लग रहा था।
ब्रैंडोज्ज

1
इस पोस्ट ने मेरा दिन बचाया और दूसरी बार मेरी मदद की !!! मैं 3 महीने के बाद एक प्लस कैसे कर सकता हूं ???
कृपाण टैबाटबी यज़ीदी

24

मुझे एक समान स्थिति का सामना करना पड़ा, और यह पता चला कि कोडिग्नेटर (जो PHP फ्रेमवर्क मैं उपयोग कर रहा था) वास्तव में अपनी स्वयं की समय सीमा निर्धारित करता है:

सिस्टम / कोर / Codeigniter.php में, संस्करण 2.1.3 में लाइन 106 निम्नलिखित दिखाई देता है:

if (function_exists("set_time_limit") == TRUE AND @ini_get("safe_mode") == 0)
{
    @set_time_limit(300);
}

चूंकि कोर फ़ाइल को बदलने से बचने का कोई अन्य तरीका नहीं था, इसलिए मैंने इसे हटा दिया ताकि php.ini के माध्यम से कॉन्फ़िगरेशन की अनुमति मिल सके, साथ ही सीएलआई अनुरोध के लिए अनंत अधिकतम निष्पादन समय दे।

मैं हालांकि भविष्य के CI संस्करण उन्नयन के मामले में कहीं न कहीं इस बदलाव को रिकॉर्ड करने की सलाह देता हूं।


7
ओह। मेरे। रहित बेहतर सुविधा। मैं इस पर विश्वास नहीं कर सकता हूँ। खूनी दुनिया क्यों है कि वे निष्पादन समय की सभी अन्य सीमाओं के शीर्ष पर निष्पादन समय को सीमित करेंगे जो पहले से मौजूद हैं? मैंने इस पर घंटों बर्बाद किया है। प्रविष्टि के लिए धन्यवाद।
fool4jesus

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

यदि आप इसे पढ़ रहे हैं और आप ExpressionEngine (जो CodeIgniter पर बनाया गया है) का उपयोग कर रहे हैं ... अच्छी तरह से - अनुमान है कि EE CI के ओवरराइड को ओवरराइड करता है! आपको /system/codeigniter/system/core/Codeigniter.php लाइन 106, और /system/expressionengine/lbooks/Core.php, लाइन 64 दोनों को संपादित करने की आवश्यकता होगी। यह मेरे जीवन का एक मजेदार तीन घंटे था जो खोज रहा था .. ।
जैक

@PhilCross यदि आप उस फ़ंक्शन को जानते हैं जिसे अधिक समय निष्पादित करने की आवश्यकता है, तो आप उस फ़ंक्शन के अंदर जेस के सुझाव और स्थान का उपयोग कर सकते हैं set_time_limit(0);। आपको कोर बदलने की आवश्यकता नहीं है: यह निर्देश समय सीमा को रीसेट कर देगा, इसलिए आपको उस विशिष्ट फ़ंक्शन को चलाते समय कोर या अन्य पैकेजों में अन्य लाइनों के बारे में चिंता करने की आवश्यकता नहीं है।
आर्मफूट

9

अपनी स्क्रिप्ट में निम्नलिखित की तरह कुछ आज़माएँ:

set_time_limit(1200);

3
set_time_limit(0);आपकी स्क्रिप्ट को हमेशा के लिए चला देता है।
जोनाथन

23
set_time_limit(0); आपकी स्क्रिप्ट को हमेशा के लिए चलाने की अनुमति देता है।
जेस टेलफ़ोर्ड

6

यह सही उत्तर है:

के लिए जाओ

c:\wamp\apps\phpmyadmin3.4.10.1\libraries\config.default.php

खोजें और सेट करें

$cfg['ExecTimeLimit'] = 0;

सभी सेवाओं को पुनरारंभ करें और किया।


सही उत्तर, थैंक्यू @llioor
kach

5

xampp / phpmyadmin / पुस्तकालयों / config.default.php पर जाएं

और निम्नलिखित परिवर्तन करें

from  $cfg['ExecTimeLimit'] = ’300′;
to  $cfg['ExecTimeLimit'] = ’0′;

3

Xampp उपयोगकर्ताओं के लिए

1. Go to C:\xampp\phpMyAdmin\libraries
2. Open config.default.php
3. Search for $cfg['ExecTimeLimit'] = 300;
4. Change to the Value 300 to 0 or set a larger value
5. Save the file and restart the server
6. OR Set the ini_set('MAX_EXECUTION_TIME', '-1'); at the beginning of your script you can add.

1

PHP का CLI डिफ़ॉल्ट निष्पादन समय अनंत है।

यह सेकंड में अधिकतम समय सेट करता है एक स्क्रिप्ट को पार्सर द्वारा समाप्त करने से पहले चलाने की अनुमति है। यह सर्वर को बांधने से खराब लिखित स्क्रिप्ट को रोकने में मदद करता है। डिफ़ॉल्ट सेटिंग 30 है। कमांड लाइन से PHP चलाते समय डिफ़ॉल्ट सेटिंग 0 है।

http://gr.php.net/manual/en/info.configuration.php#ini.max-execution-time

जांचें कि क्या आप सुरक्षित मोड में PHP चला रहे हैं, क्योंकि यह उस समय सभी निष्पादन सेटिंग्स को अनदेखा करता है।


1

स्थानीय AppServ के लिए

C: \ AppServ \ www \ phpMyAdmin \ पुस्तकालयों \ config.default.php पर जाएं

खोज $cfg['ExecTimeLimit']मान और 0 पर सेट करें।

तो ऐसा लगेगा

$cfg['ExecTimeLimit'] = 0;

1

यदि आप xampp पर हैं और बड़ी sql फ़ाइलों को आयात करने के लिए phpMyadmin का उपयोग कर रहे हैं और आपने max_execution का समय बढ़ा दिया है, तो अधिकतम फ़ाइल अपलोड की सीमा और सब कुछ आवश्यक है और यदि आपके लिए उपरोक्त उत्तर में से कोई भी काम नहीं आया है

अपने xampp फ़ोल्डर पर जाएं, मेरे मामले में यहां उस फ़ाइल के सापेक्ष पथ है जिसे मुझे संशोधित करने की आवश्यकता है: C: \ xampp \ phpMyAdmin \ lbooks \ config.default.php

/** * maximum execution time in seconds (0 for no limit) * * @global integer $cfg['ExecTimeLimit'] * by defautlt 300 is the value * change it to 0 for unlimited * time is seconds * Line 709 for me */ $cfg['ExecTimeLimit'] = 0;


$ cfg काम करता है ['ExecTimeLimit'] = 0; । धन्यवाद
MindRoasterMir

0

उपयोगकर्ता का उपयोग करें:

1) C: \ wamp \ apps \ phpmyadmin पर जाएं

2) config.inc खोलें

3) $ cfg जोड़ें ['ExecTimeLimit'] = '3600 f; फ़ाइल के लिए।

4) फाइल को सेव करें और सर्वर को रिस्टार्ट करें।

यह फ़ाइल php.ini को ओवरराइट करती है और आपके लिए काम करेगी!


0

मेरे मामले में, जब मुझे Phpmyadmin में उस त्रुटि का सामना करना पड़ा, तो मैंने MySQL-Front की कोशिश की और अपने DB को सफलतापूर्वक आयात किया।

नोट: आप अभी भी इस प्रश्न के तहत दिए गए समाधानों का उपयोग Phpmyadmin में अपनी समस्या को हल करने के लिए कर सकते हैं।


हियर गिबट एस निचेट्स ज़ू सेएन ... :-)
राहुल

0

यदि उपरोक्त उत्तर से काम नहीं चलेगा, तो अपने कोड की जांच करने का प्रयास करें।, मेरे अनुभव में, एक अनंत लूप होने से वह समस्या भी पैदा होगी।


0

Codeignitor संस्करण 3.0.x में सिस्टम / कोर / Codeigniter.php डालने के साथ-साथ समय की कमी नहीं होती है

ini_set('MAX_EXECUTION_TIME', -1);  

काम नहीं करेगा क्योंकि कोडिनेटर अपने स्वयं के फ़ंक्शन set_time_limit () के साथ ओवरराइड करेगा। तो या तो आपको उस फ़ंक्शन को कोडिग्निटर से हटाना होगा या बस आप सम्मिलित कर सकते हैं

set_time_limit('1000');

php फ़ाइल की शुरुआत में अगर आप इसे 1000 सेकंड में बदलना चाहते हैं। 0 (शून्य) पर समय सेट करें यदि आप इसे तब तक चलाना चाहते हैं जब तक आप इसे चाहते हैं।


0

Xampp पर, php.ini में आपको mysql.connect_timeout की जाँच करनी होगी। इसलिए, उदाहरण के लिए, इसे इसमें बदलें:

mysql.connect_timeout = 3600

वह समय हमेशा सेकंड में गिना जाएगा (इसलिए मेरे उदाहरण में 1 घंटा)


0

MAMP USERS संपादन php.ini इसे हल करता है - एक पंक्ति है:

max_execution_time = 30; प्रत्येक स्क्रिप्ट का अधिकतम निष्पादन समय, सेकंड में

इसे उच्च मूल्य पर सेट करने से काम हुआ।

फ़ाइल php / php5.6.25 / conf / php.ini में है (जाहिर है कि आपको php संस्करण के लिए फ़ाइल को गीला करना होगा जो आप उपयोग कर रहे हैं - आप इसे MAMP प्राथमिकताओं से पता कर सकते हैं।


-1

आप समय सीमा निर्धारित कर सकते हैं:

ini_set('max_execution_time', 1000000000000000);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.