Ҳал кардани хатогие, ки php дархост мекунад, вақти ҳадди аксар аз 30 сония гузашт

бисёрМаркетинги Интернетомӯзиши навкорВебсайти WordPress, саҳифаи PHP муддати тӯлонӣ холӣ аст.

Сипас паёми хатогии зерин пайдо мешавад:

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; //无限制

Дар хотир доред, ки пас аз тағирот дубора оғоз кардан лозим аст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Ҳолати бехатарро дар .
  • ё тағир диҳедphp.iniмаҳдудияти вақт дар.

маҳдудияти_вақт мисол

Агар Ҳолати бехатар фаъол набошад, насбкунанда барои 25 сония кор мекунад.

Э.

<?php
if(!ini_get('safe_mode')){
set_time_limit(25);
}

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) муштарак "Ҳалли хатои вақти ҳадди аксар аз 30 сония дар PHP зиёд шудааст", ки барои шумо муфид аст.

Хуш омадед ба мубодилаи истиноди ин мақола:https://www.chenweiliang.com/cwl-1481.html

Хуш омадед ба канали Telegram блоги Чен Вейлян барои гирифтани навсозиҳои охирин!

🔔 Аввалин шуда дар феҳристи болоии канал "Дастури истифодаи абзори AI-и ChatGPT Content Marketing" -ро гиред! 🌟
📚 Ин дастур дорои арзиши бузург аст, 🌟Ин як имконияти нодир аст, онро аз даст надиҳед! ⏰⌛💨
Агар ба шумо маъқул бошад, мубодила кунед ва лайк монед!
Мубодилаи шумо ва лайкҳои шумо ангезаи доимии мост!

 

发表 评论

Суроғаи почтаи электронии шумо нашр карда намешавад. 必填 项 已 用 * Нишон

ба боло ҳаракат кунед