Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menetapkan masa menunggu tamat masa dalam php
Apabila membangun dengan PHP, kadangkala anda perlu melakukan operasi jangka panjang, seperti permintaan rangkaian, pertanyaan pangkalan data, operasi fail, dsb. Dalam kes ini, tamat masa lalai PHP mungkin tidak mencukupi untuk menyelesaikan operasi ini, menyebabkan program ralat. Untuk menyelesaikan masalah ini, kita perlu menetapkan masa menunggu tamat masa PHP.
Masa menunggu tamat masa PHP merujuk kepada masa menunggu maksimum apabila skrip PHP dilaksanakan Jika melebihi masa ini, ia akan ditamatkan secara paksa. Secara lalai, masa menunggu tamat masa PHP ialah 30 saat, yang boleh dilaraskan dengan mengubah suai fail php.ini.
Mula-mula, kita perlu mencari fail php.ini. Di bawah sistem Linux, php.ini biasanya terletak dalam direktori /etc/php/[version]/cli/. Di bawah sistem Windows, php.ini biasanya terletak dalam direktori pemasangan PHP.
Buka fail php.ini dan cari dua parameter berikut:
max_execution_time = 30 max_input_time = 60
Antaranya, max_execution_time mewakili masa pelaksanaan maksimum skrip PHP (dalam saat), lalainya ialah 30 saat; max_input_time Menunjukkan masa maksimum (dalam saat) untuk skrip PHP menerima data input seperti POST, GET, FILE, dll., dan lalai ialah 60 saat.
Kami boleh mengubah suai nilai kedua-dua parameter ini kepada nilai yang kami perlukan, contohnya:
max_execution_time = 60 max_input_time = 120
Ini akan menjadikan masa pelaksanaan maksimum skrip PHP 60 saat dan masa input maksimum 120 Saat.
Selain mengubah suai fail php.ini, kami juga boleh menetapkan masa menunggu tamat masa dalam kod PHP. Dalam PHP, kita boleh menggunakan fungsi set_time_limit untuk menetapkan masa pelaksanaan maksimum skrip.
Sebagai contoh, kod berikut akan menetapkan masa pelaksanaan maksimum skrip PHP kepada 60 saat:
set_time_limit(60);
Jika kita ingin mengubah suai parameter max_input_time dalam kod, kita boleh menggunakan fungsi ini_set.
Sebagai contoh, kod berikut akan menetapkan masa maksimum untuk skrip PHP menerima input kepada 120 saat:
ini_set('max_input_time', 120);
Perlu diambil perhatian bahawa tetapan ini hanya berkuat kuasa dalam semasa skrip, meninggalkan skrip semasa Selepas itu, tamat masa akan kembali kepada nilai yang dikonfigurasikan dalam fail php.ini.
PHP juga menyediakan fungsi ignore_user_abort, yang membolehkan skrip PHP terus dilaksanakan selepas pelanggan memutuskan sambungan. Fungsi ini sangat berguna apabila bekerja dengan skrip yang berjalan lama.
Sebagai contoh, kod berikut akan menetapkan skrip PHP untuk mengabaikan putus sambungan pelanggan dan meneruskan pelaksanaan:
ignore_user_abort(true);
Perlu diingat bahawa selepas menetapkan fungsi ignore_user_abort, jika klien memutuskan sambungan Jika sambungan dibuka, skrip PHP akan terus dilaksanakan, tetapi tiada apa yang akan dikeluarkan kepada klien.
Ringkasan
Dalam pembangunan PHP, masa menunggu tamat masa adalah isu yang sangat penting dan perlu ditetapkan mengikut situasi tertentu. Kita boleh melaraskan masa menunggu tamat masa PHP dengan mengubah suai fail php.ini, menetapkan masa menunggu tamat masa dalam kod, menggunakan fungsi ignore_user_abort, dsb. untuk mengendalikan skrip yang berjalan lama.
Atas ialah kandungan terperinci Bagaimana untuk menetapkan masa menunggu tamat masa dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!