ആർട്ടിക്കിൾ ഡയറക്ടറി
കുട്ടഇന്റർനെറ്റ് മാർക്കറ്റിംഗ്പുതിയ പഠനംവേർഡ്പ്രസ്സ് വെബ്സൈറ്റ്, PHP പേജ് വളരെക്കാലമായി ശൂന്യമാണ്.
തുടർന്ന് ഇനിപ്പറയുന്ന പിശക് സന്ദേശം ദൃശ്യമാകുന്നു:
Fatal error: Maximum execution time of 30 seconds exceeded in ......
വളരെ ലളിതമായി പറഞ്ഞാൽ, PHP എക്സിക്യൂഷൻ സമയം 30 സെക്കൻഡ് പരിധി കവിയുന്നു എന്നാണ്.
ചെൻ വെയ്ലിയാങ്ഈ പിശക് മുമ്പും നേരിട്ടിട്ടുണ്ട്, കൂടാതെ ഈ ലേഖനം പിശക് കൈകാര്യം ചെയ്യുന്ന രീതിയെ സംഗ്രഹിക്കുന്നു.
പിശക് എങ്ങനെ പരിഹരിക്കാം?
അടിസ്ഥാനപരമായി, ഈ പിശക് കൈകാര്യം ചെയ്യാൻ 3 വഴികളുണ്ട്:
- php കോൺഫിഗറേഷൻ ഫയൽ php.ini ഫയൽ പരിഷ്ക്കരിക്കുക
- ini_set() ഫംഗ്ഷൻ ഉപയോഗിക്കുന്നു
- set_time_limit() ഫംഗ്ഷൻ ഉപയോഗിക്കുന്നു
1) php കോൺഫിഗറേഷൻ ഫയൽ php.ini ഫയൽ പരിഷ്ക്കരിക്കുക
php.ini ഫയൽ കണ്ടെത്തി ഈ ഫയലിൽ കണ്ടെത്തുക:
max_execution_time = 30 ;
ഈ വരിയിൽ, ആവശ്യമുള്ള മൂല്യത്തിലേക്ക് (സെക്കൻഡിൽ) നമ്പർ 30 സജ്ജമാക്കുക.
ഇത് നേരിട്ട് പരിഷ്കരിക്കാനും കഴിയും:
max_execution_time = 0; //无限制
പരിഷ്ക്കരിച്ചതിന് ശേഷം ഒരു റീബൂട്ട് ആവശ്യമാണെന്ന് ശ്രദ്ധിക്കുകലിനക്സ്സെർവർ.
2) ini_set() ഫംഗ്ഷൻ ഉപയോഗിക്കുക
php.ini പരിഷ്കരിക്കാൻ കഴിയാത്തവർക്കായിനവമാധ്യമങ്ങൾആളുകൾക്ക്, പരമാവധി എക്സിക്യൂഷൻ സമയ പരിധി മാറ്റാൻ ini_set() ഫംഗ്ഷൻ ഉപയോഗിക്കാം.
പ്രോഗ്രാമിന്റെ മുകളിൽ ഇനിപ്പറയുന്ന കോഡ് ചേർക്കുക:
ini_set('max_execution_time','100');
- മുകളിലുള്ള ക്രമീകരണം 100 സെക്കൻഡ് ആണ്, നിങ്ങൾക്ക് ഇത് 0 ആയി സജ്ജീകരിക്കാനും കഴിയും, അതായത് നിർവ്വഹണ സമയത്തിൽ മാത്രം പരിമിതപ്പെടുത്തരുത്.
3) set_time_limit() ഫംഗ്ഷൻ ഉപയോഗിക്കുക
പ്രോഗ്രാമിന്റെ മുകളിൽ ചേർക്കുക:
set_time_limit(100);
- ഇതിനർത്ഥം പരമാവധി എക്സിക്യൂഷൻ സമയം 100 സെക്കൻഡായി സജ്ജീകരിച്ചിരിക്കുന്നു എന്നാണ്.
- തീർച്ചയായും, പരാമീറ്റർ 0 ആയി സജ്ജമാക്കാം, അതായത്പരിധിയില്ലാത്ത∞。
set_time_limit ഫംഗ്ഷന്റെ വിവരണം:
void set_time_limit ( int $seconds )
സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കാൻ അനുവദിക്കുന്ന സമയം (സെക്കൻഡിൽ) സജ്ജീകരിക്കുക എന്നതാണ് ഈ ഫംഗ്ഷൻ ചെയ്യുന്നത്.
- ഈ ക്രമീകരണം കവിഞ്ഞാൽ, സ്ക്രിപ്റ്റ് ഒരു മാരകമായ പിശക് നൽകും.
- സ്ഥിരസ്ഥിതി 30 സെക്കൻഡ് ആണ്, ഈ മൂല്യം നിലവിലുണ്ടെങ്കിൽ, ഇത് php.ini-ലെ max_execution_time എന്നതിൽ നിർവചിച്ചിരിക്കുന്ന മൂല്യമാണ്.
- ഈ ഫംഗ്ഷൻ വിളിക്കുമ്പോൾ, set_time_limit() പൂജ്യത്തിൽ നിന്ന് ടൈംഔട്ട് കൗണ്ടർ പുനരാരംഭിക്കും.
മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ടൈംഔട്ട് ഡിഫോൾട്ട് 30 സെക്കൻഡ് ആണെങ്കിൽ, സ്ക്രിപ്റ്റ് 25 സെക്കൻഡ് പ്രവർത്തിക്കുമ്പോൾ, വിളിക്കുകset_time_limit(20)
, സ്ക്രിപ്റ്റിന് സമയം തീരുന്നതിന് മുമ്പ് മൊത്തം 45 സെക്കൻഡ് പ്രവർത്തിക്കാൻ കഴിയും.
php സുരക്ഷിത മോഡിൽ പ്രവർത്തിക്കുമ്പോൾ ഇത് പ്രവർത്തിക്കില്ല.
സുരക്ഷിത മോഡ് ഓഫാക്കാനാകും:
- ൽ
php.ini
സുരക്ഷിത_മോഡ് ഓഫ് ആയി സജ്ജമാക്കുക. - അല്ലെങ്കിൽ മാറ്റം
php.ini
ലെ സമയ പരിധി.
സമയ_പരിധി സജ്ജമാക്കുക ഉദാഹരണം
സുരക്ഷിത മോഡ് ഓണാക്കിയില്ലെങ്കിൽ, ഇൻസ്റ്റാളർ 25 സെക്കൻഡ് പ്രവർത്തിക്കും.
ഉദാ:
<?php if(!ini_get('safe_mode')){ set_time_limit(25); }
ഹോപ്പ് ചെൻ വെയ്ലിയാങ് ബ്ലോഗ് ( https://www.chenweiliang.com/ ) പങ്കിട്ടു, "പിഎച്ച്പിയിൽ 30 സെക്കൻഡ് കവിഞ്ഞ പരമാവധി എക്സിക്യൂഷൻ സമയത്തിന്റെ പിശക് പരിഹരിക്കുന്നു", ഇത് നിങ്ങൾക്ക് സഹായകരമാണ്.
ഈ ലേഖനത്തിന്റെ ലിങ്ക് പങ്കിടാൻ സ്വാഗതം:https://www.chenweiliang.com/cwl-1481.html
ഏറ്റവും പുതിയ അപ്ഡേറ്റുകൾ ലഭിക്കുന്നതിന് ചെൻ വെയ്ലിയാങ്ങിന്റെ ബ്ലോഗിന്റെ ടെലിഗ്രാം ചാനലിലേക്ക് സ്വാഗതം!
📚 ഈ ഗൈഡിൽ വലിയ മൂല്യമുണ്ട്, 🌟 ഇതൊരു അപൂർവ അവസരമാണ്, ഇത് നഷ്ടപ്പെടുത്തരുത്! ⏰⌛💨
ഇഷ്ടമായാൽ ഷെയർ ചെയ്യുക, ലൈക്ക് ചെയ്യുക!
നിങ്ങളുടെ ഷെയറിംഗും ലൈക്കുകളുമാണ് ഞങ്ങളുടെ തുടർച്ചയായ പ്രചോദനം!