Επιλύστε το σφάλμα που ζητά η php Υπέρβαση μέγιστου χρόνου εκτέλεσης 30 δευτερολέπτων

πολλά απο网络 营销αρχάριος μάθησηΙστοσελίδα WordPress, η σελίδα PHP είναι κενή για μεγάλο χρονικό διάστημα.

Στη συνέχεια εμφανίζεται το ακόλουθο μήνυμα σφάλματος:

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

Πολύ απλά, σημαίνει ότι ο χρόνος εκτέλεσης της PHP υπερβαίνει το όριο των 30 δευτερολέπτων.

Chen WeiliangΑυτό το σφάλμα έχει επίσης εμφανιστεί στο παρελθόν και αυτό το άρθρο συνοψίζει τη μέθοδο χειρισμού σφαλμάτων.

Πώς να διορθώσετε το σφάλμα;

Βασικά, υπάρχουν 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Ρυθμίστε το safe_mode σε απενεργοποίηση στο .
  • ή αλλαγήphp.iniχρονικό όριο σε .

set_time_limit Παράδειγμα

Εάν η ασφαλής λειτουργία δεν είναι ενεργοποιημένη, το πρόγραμμα εγκατάστασης θα λειτουργήσει για 25 δευτερόλεπτα.

Π.χ:

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

Ιστολόγιο Hope Chen Weiliang ( https://www.chenweiliang.com/ ) κοινοποίησε την ενότητα "Επίλυση του σφάλματος υπέρβασης του μέγιστου χρόνου εκτέλεσης των 30 δευτερολέπτων στη γραμμή εντολών PHP", το οποίο είναι χρήσιμο για εσάς.

Καλώς ήρθατε να μοιραστείτε τον σύνδεσμο αυτού του άρθρου:https://www.chenweiliang.com/cwl-1481.html

Καλώς ήρθατε στο κανάλι Telegram του ιστολογίου του Chen Weiliang για να λαμβάνετε τις τελευταίες ενημερώσεις!

🔔 Γίνετε ο πρώτος που θα αποκτήσει τον πολύτιμο "Οδηγό χρήσης εργαλείου τεχνητής νοημοσύνης μάρκετινγκ περιεχομένου ChatGPT" στον κορυφαίο κατάλογο του καναλιού! 🌟
📚 Αυτός ο οδηγός περιέχει τεράστια αξία, 🌟Αυτή είναι μια σπάνια ευκαιρία, μην τη χάσετε! ⏰⌛💨
Κοινοποιήστε και κάντε like αν σας αρέσει!
Η κοινή χρήση και τα like σας είναι το συνεχές μας κίνητρο!

 

发表 评论

Η διεύθυνση email σας δεν θα δημοσιευθεί. 必填 项 已 用 * 标注

κύλιση στην κορυφή