Dalam proses membangunkan aplikasi web, kami biasanya menghadapi keperluan untuk melaksanakan lebih banyak operasi yang memakan masa, seperti memuat naik fail, menjana laporan, dsb. Operasi ini mungkin mengambil masa berpuluh-puluh saat atau bahkan minit untuk dilaksanakan, tetapi secara lalai, masa pelaksanaan skrip PHP adalah terhad. Jadi, bagaimana untuk menukar masa tamat skrip PHP?
Tamat masa lalai PHP ialah 30 saat, yang bermaksud bahawa jika masa pelaksanaan skrip melebihi 30 saat, enjin PHP akan secara automatik menamatkan pelaksanaan skrip dan membuang ralat "Maksimum masa pelaksanaan melebihi" . Had masa ini akan dipengaruhi oleh tetapan pelayan yang berbeza, versi PHP dan konfigurasi dalam PHP.ini. Di bawah, kami akan menerangkan cara menukar masa tamat skrip PHP.
Tukar tamat masa dalam skrip PHP
Anda boleh menukar tamat masa dalam skrip PHP secara dinamik melalui fungsi ini_set(). Fungsi ini digunakan untuk mengubah suai parameter konfigurasi secara dinamik dalam php.ini. Oleh itu, kita boleh menggunakan fungsi ini_set() untuk menukar parameter konfigurasi tamat masa.
ini_set('max_execution_time', 60);
Kod di atas menetapkan tamat masa skrip kepada 60 saat. Ini bermakna masa pelaksanaan skrip tidak boleh melebihi 60 saat, jika tidak, ralat "Melebihi masa pelaksanaan maksimum" akan muncul.
Sudah tentu, anda juga boleh meletakkan kod ini pada permulaan fail PHP, supaya keseluruhan fail akan terjejas apabila dilaksanakan. Walau bagaimanapun, perlu diingat bahawa jika terdapat sekatan yang sepadan dalam fail konfigurasi PHP (php.ini), tamat masa tidak boleh diubah melalui kaedah ini.
Tukar tamat masa dalam fail php.ini
Dalam fail php.ini, kita boleh menukar tamat masa skrip PHP dengan menukar parameter konfigurasi max_execution_time. Parameter ini diukur dalam beberapa saat dan boleh ditetapkan kepada nombor yang lebih tinggi untuk menyokong operasi yang lebih lama. Sila ikut langkah berikut:
Cari fail php.ini dan bukanya (biasanya dalam /etc/php.ini atau /etc/php7/php.ini).
Cari max_execution_time = 30. 30 ialah masa pelaksanaan lalai.
Tukar nilai max_execution_time kepada bilangan saat yang diingini (cth. 300 selama 5 minit).
Simpan fail php.ini.
Mulakan semula pelayan web untuk perubahan berkuat kuasa.
Mengendalikan isu tamat masa apabila memuat naik fail besar
Muat naik fail besar adalah keperluan biasa, tetapi biasanya mengambil masa yang lebih lama untuk memuat naik dan memproses, menjadikannya mudah untuk menghadapi isu tamat masa. Jika anda menghadapi masalah tamat masa semasa memuat naik fail besar, anda boleh mempertimbangkan penyelesaian berikut:
Tingkatkan tamat masa untuk skrip PHP anda. Ini boleh dilakukan dengan menggunakan fungsi ini_set() atau menukar parameter konfigurasi max_execution_time dalam fail php.ini.
Gunakan teknologi muat naik berbilang bahagian apabila memuat naik fail besar. Teknik ini memecahkan fail kepada ketulan kecil dan memuat naiknya satu persatu. Dengan cara ini, anda boleh mengelakkan isu tamat masa walaupun muat naik mengambil masa yang lama. Banyak pelayar moden menyokong muat naik berbilang bahagian.
Gunakan bar kemajuan muat naik dan teknologi ajax untuk memberi pengguna maklum balas masa nyata tentang kemajuan muat naik. Ini membolehkan pengguna mengetahui kemajuan muat naik dan mengelakkan tanggapan yang salah bahawa program telah berhenti.
Gunakan pelayan yang lebih pantas atau pelayan awan jalur lebar tinggi. Meningkatkan prestasi pelayan anda boleh memendekkan masa yang diperlukan untuk memuat naik dan memproses fail. Jika anda menggunakan pengehosan kongsi, pertimbangkan untuk menaik taraf kepada VPS atau pelayan khusus.
Kesimpulan
Tamat masa skrip PHP adalah salah satu masalah yang sering dihadapi dalam pembangunan web. Masalah ini boleh dielakkan dengan mudah dengan hanya menukar tamat masa skrip PHP atau menukar parameter konfigurasi max_execution_time dalam fail php.ini. Selain itu, apabila memproses muat naik fail yang besar, adalah disyorkan untuk menggunakan teknologi muat naik berbilang bahagian, bar kemajuan muat naik dan pelayan yang lebih pantas atau pelayan awan lebar jalur besar untuk meningkatkan pengalaman pengguna.
Atas ialah kandungan terperinci php menukar masa tamat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!