אַרטיקל וועגווייַזער
אסאך אנפאנגער אין אנליין מארקעטינג טרעפן זיך מיט לאנגע פעריאדן פון ליידיגע PHP בלעטער ווען זיי לערנען זיך צו בויען וועבזייטלעך מיט ווארדפרעס .
דערנאָך די פאלגענדע טעות אָנזאָג איז ארויס:
Fatal error: Maximum execution time of 30 seconds exceeded in ......גאַנץ פּשוט, עס מיטל אַז די PHP דורכפירונג צייט יקסידז די 30 סעקונדעס שיעור.
טשען ווייליאַנג האט שוין פריער באגעגנט דעם טעות, און דער אַרטיקל צוזאַמענגעפאַסט ווי אַזוי צו האַנדלען מיט אים.
ווי צו פאַרריכטן דעם טעות?
בייסיקלי, עס זענען 3 וועגן צו האַנדלען מיט דעם טעות:
- מאָדיפיצירן די פפּ קאַנפיגיעריישאַן טעקע php.ini טעקע
- ניצן די ini_set () פֿונקציע
- ניצן די set_time_limit() פֿונקציע
1) מאָדיפיצירן די פפּ קאַנפיגיעריישאַן טעקע 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 סעקונדעס, אויב די ווערט יגזיסץ, עס איז די ווערט דיפיינד אין max_execution_time אין php.ini.
- ווען די פֿונקציע איז גערופֿן, set_time_limit () וועט ריסטאַרט די טיימאַוט טאָמבאַנק פֿון נול.
אין אנדערע ווערטער, אויב די טיימאַוט דיפאָלץ צו 30 סעקונדעס, און ווען די שריפט לויפט פֿאַר 25 סעקונדעס, רופןset_time_limit(20), דער שריפט קענען לויפן פֿאַר אַ גאַנץ פון 45 סעקונדעס איידער טיימינג אויס.
דאָס קען נישט אַרבעטן ווען php איז פליסנדיק אין זיכער מאָדע.
זיכער מאָדע קענען זיין אויסגעדרייט אַוועק:
- 在
php.iniשטעלן זיכער_מאָדע צו אַוועק אין . - אָדער טוישן
php.iniצייט שיעור אין .
set_time_limit א שטייגער
אויב זיכער מאָדע איז נישט אויסגעדרייט, די ינסטאַללער וועט לויפן פֿאַר 25 סעקונדעס.
למשל:
<?php
if(!ini_get('safe_mode')){
set_time_limit(25);
}האָפענטלעך וועט דער אַרטיקל "לייזן דעם PHP טעות 'מאַקסימום עקסעקוטיאָן צייט פון 30 סעקונדעס איבערגעשטיגן'" וואָס איז געטיילט געוואָרן אויף טשען ווייליאַנג'ס בלאָג ( https://www.chenweiliang.com/ ) זיין נוצלעך פֿאַר אײַך.
פילט אייך פריי צו טיילן דעם לינק פון דעם ארטיקל: https://www.chenweiliang.com/cwl-1481.html
