ලිපි නාමාවලිය
ගොඩක්අන්තර්ජාල අලෙවිකරණයනවක ඉගෙනුමවර්ඩ්ප්රෙස් වෙබ් අඩවිය, PHP පිටුව දිගු කාලයක් හිස්ව පවතී.
එවිට පහත දෝෂ පණිවිඩය දිස්වේ:
Fatal error: Maximum execution time of 30 seconds exceeded in ......
ඉතා සරලව, එයින් අදහස් කරන්නේ PHP ක්රියාත්මක කිරීමේ කාලය තත්පර 30 සීමාව ඉක්මවන බවයි.
චෙන් වේලියාංමෙම දෝෂය මීට පෙරද මුහුණ දී ඇති අතර, මෙම ලිපියෙන් දෝෂ හැසිරවීමේ ක්රමය සාරාංශ කරයි.
දෝෂය නිවැරදි කරන්නේ කෙසේද?
මූලික වශයෙන්, මෙම දෝෂය සමඟ කටයුතු කිරීමට ක්රම තුනක් තිබේ:
- 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); }
Hope Chen Weiliang බ්ලොග් ( https://www.chenweiliang.com/ ) බෙදාගත් "PHP ප්රේරකයේදී තත්පර 30 ඉක්මවන උපරිම ක්රියාත්මක කිරීමේ කාලයෙහි දෝෂය විසඳීම", එය ඔබට ප්රයෝජනවත් වේ.
මෙම ලිපියේ සබැඳිය බෙදා ගැනීමට සාදරයෙන් පිළිගනිමු:https://www.chenweiliang.com/cwl-1481.html
නවතම යාවත්කාලීන ලබා ගැනීමට Chen Weiliang ගේ බ්ලොගයේ Telegram නාලිකාව වෙත සාදරයෙන් පිළිගනිමු!
📚 මෙම මාර්ගෝපදේශයෙහි විශාල වටිනාකමක් ඇත, 🌟මෙය දුර්ලභ අවස්ථාවක්, එය අතපසු නොකරන්න! ⏰⌛💨
ඔබ කැමති නම් Share කර Like කරන්න!
ඔබගේ බෙදාගැනීම් සහ කැමැත්ත අපගේ අඛණ්ඩ අභිප්රේරණයයි!