هغه تېروتنه حل کړئ چې د php غوښتنه کوي د 30 ثانیو اعظمي اجرا کولو وخت تیر شوی

بیخي ډېرد انټرنیټ بازار موندنهنوي زده کړهد WordPress ویب پاڼهد پی ایچ پی پاڼه د اوږدې مودې لپاره خالي ده.

بیا لاندې خطا پیغام څرګندیږي:

Fatal error: Maximum execution time of 30 seconds exceeded in ......

په ساده ډول، دا پدې مانا ده چې د PHP اجرا کولو وخت د 30 ثانیو حد څخه ډیر دی.

چن ویلینګدا تېروتنه مخکې هم ورسره مخ شوې وه، او دا مقاله د تېروتنې د سمبالولو میتود لنډیز کوي.

څنګه تېروتنه سمه کړو؟

په اصل کې، د دې خطا اداره کولو لپاره 3 لارې شتون لري:

  1. د php ترتیب کولو فایل php.ini فایل بدل کړئ
  2. د ini_set() فنکشن کارول
  3. د 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

د نورو پټو چلونو د خلاصولو لپاره، زموږ د ټیلیګرام چینل سره یوځای کیدو ته ښه راغلاست!

که مو خوښه شوه لایک او شریک کړئ! ستاسو شریکول او خوښول زموږ دوامداره هڅونه ده!

 

评论 评论

ستاسو بریښنالیک پته به خپره نشي. اړین ساحې کارول کیږي * لیبل

پاس شئ