სტატიების დირექტორია
ბევრიინტერნეტ მარკეტინგიდამწყებთათვის სწავლაWordPress საიტი, 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; //无限制
გაითვალისწინეთ, რომ ცვლილებების შემდეგ საჭიროა გადატვირთვაLinuxსერვერი.
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 წამი, თუ ეს მნიშვნელობა არსებობს, ეს არის მნიშვნელობა, რომელიც განსაზღვრულია max_execution_time-ში php.ini-ში.
- ამ ფუნქციის გამოძახებისას set_time_limit() განაახლებს დროის ამოწურვის მრიცხველს ნულიდან.
სხვა სიტყვებით რომ ვთქვათ, თუ დრო ნაგულისხმევად არის 30 წამი და როდესაც სკრიპტი მუშაობს 25 წამის განმავლობაში, დარეკეთset_time_limit(20)
, სკრიპტს შეუძლია სულ 45 წამის განმავლობაში გაშვება დროის ამოწურვამდე.
ეს არ მუშაობს, როდესაც php მუშაობს უსაფრთხო რეჟიმში.
უსაფრთხო რეჟიმის გამორთვა შესაძლებელია:
- 在
php.ini
დააყენეთ safe_mode გამორთვა-ში. - ან შეცვლა
php.ini
დროის ლიმიტი ში.
დროის_ლიმიტის დაყენება მაგალითი
თუ უსაფრთხო რეჟიმი არ არის ჩართული, ინსტალერი იმუშავებს 25 წამის განმავლობაში.
Მაგალითად:
<?php if(!ini_get('safe_mode')){ set_time_limit(25); }
იმედი ჩენ ვეილიანგის ბლოგი ( https://www.chenweiliang.com/ ) გააზიარა "PHP-ში შესრულების მაქსიმალური დროის 30 წამის გადაჭარბებული შეცდომის გადაჭრა", რაც თქვენთვის სასარგებლოა.
კეთილი იყოს თქვენი მობრძანება ამ სტატიის ბმულის გასაზიარებლად:https://www.chenweiliang.com/cwl-1481.html
კეთილი იყოს თქვენი მობრძანება Chen Weiliang-ის ბლოგის ტელეგრამის არხზე, რომ მიიღოთ უახლესი განახლებები!
📚 ეს სახელმძღვანელო შეიცავს უზარმაზარ ღირებულებას, 🌟ეს იშვიათი შესაძლებლობაა, არ გამოტოვოთ! ⏰⌛💨
გააზიარეთ და მოიწონეთ თუ მოგეწონათ!
თქვენი გაზიარება და მოწონებები ჩვენი უწყვეტი მოტივაციაა!