Direktori Artikel
Ramai pemula dalam pemasaran dalam talian menghadapi tempoh masa yang lama halaman PHP kosong apabila belajar membina laman web menggunakan WordPress .
Kemudian mesej ralat berikut muncul:
Fatal error: Maximum execution time of 30 seconds exceeded in ......Secara ringkasnya, ini bermakna bahawa masa pelaksanaan PHP melebihi had 30 saat.
Chen Weiliang pernah mengalami ralat ini sebelum ini, dan artikel ini meringkaskan cara untuk mengatasinya.
Bagaimana untuk membetulkan ralat?
Pada asasnya, terdapat 3 cara untuk menangani ralat ini:
- Ubah suai fail konfigurasi php fail php.ini
- Menggunakan fungsi ini_set().
- Menggunakan fungsi set_time_limit().
1) Ubah suai fail konfigurasi php fail php.ini
Cari fail php.ini dan cari dalam fail ini:
max_execution_time = 30 ;
Dalam baris ini, tetapkan nombor 30 kepada nilai yang dikehendaki (dalam saat).
Ia juga boleh diubah suai terus kepada:
max_execution_time = 0; //无限制
Sila ambil perhatian bahawa anda perlu memulakan semula pelayan Linux selepas membuat perubahan.
2) Gunakan fungsi ini_set().
Bagi profesional media baharu yang tidak boleh mengubah suai php.ini , fungsi ini_set() boleh digunakan untuk mengubah had masa pelaksanaan maksimum.
Tambahkan kod berikut di bahagian atas program:
ini_set('max_execution_time','100');- Tetapan di atas ialah 100 saat, anda juga boleh menetapkannya kepada 0, yang bermaksud tidak terhad kepada masa pelaksanaan.
3) Gunakan fungsi set_time_limit().
Di bahagian atas program tambahkan:
set_time_limit(100);
- Ini bermakna masa pelaksanaan maksimum ditetapkan kepada 100 saat.
- Sudah tentu, parameter juga boleh ditetapkan kepada 0, yang bermaksudtidak terhad∞.
perihalan fungsi set_time_limit:
void set_time_limit ( int $seconds )
Apa yang fungsi ini lakukan ialah untuk menetapkan masa (dalam saat) yang skrip dibenarkan dijalankan.
- Jika tetapan ini melebihi, skrip akan mengembalikan ralat yang membawa maut.
- Lalai ialah 30 saat, jika nilai ini wujud, ia adalah nilai yang ditakrifkan dalam max_execution_time dalam php.ini.
- Apabila fungsi ini dipanggil, set_time_limit() akan memulakan semula pembilang tamat masa daripada sifar.
Dalam erti kata lain, jika tamat masa lalai kepada 30 saat, dan apabila skrip berjalan selama 25 saat, panggilset_time_limit(20), skrip boleh berjalan selama 45 saat sebelum tamat masa.
Ini tidak berfungsi apabila php berjalan dalam mod selamat.
Mod Selamat boleh dimatikan:
- 在
php.iniTetapkan safe_mode kepada off dalam . - atau tukar
php.inihad masa dalam .
tetapkan_had_masa contoh
Jika Mod Selamat tidak dihidupkan, pemasang akan berjalan selama 25 saat.
Cth:
<?php
if(!ini_get('safe_mode')){
set_time_limit(25);
}Semoga artikel "Menyelesaikan ralat PHP 'Maksimum execution time of 30 seconds exceeded'" yang dikongsikan di blog Chen Weiliang ( https://www.chenweiliang.com/ ) dapat membantu anda.
Jangan ragu untuk berkongsi pautan artikel ini: https://www.chenweiliang.com/cwl-1481.html
