Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengubah suai masa pelaksanaan skrip dalam php? 3 pengenalan
Dengan pembangunan berterusan dan penggunaan aplikasi web, kami selalunya perlu melaksanakan beberapa tugas penting dalam PHP. Untuk memastikan masa pelaksanaan dan kualiti tugasan ini, kita perlu mengoptimumkan masa pelaksanaan skrip. Artikel ini akan memperkenalkan cara mengubah suai masa pelaksanaan skrip untuk meningkatkan prestasi dan kestabilan skrip.
php.ini ialah fail konfigurasi sistem PHP, yang mengandungi beberapa maklumat konfigurasi parameter PHP. Dalam php.ini, terdapat parameter yang dipanggil max_execution_time, yang digunakan untuk menentukan masa pelaksanaan maksimum skrip. Secara lalai, parameter ini ditetapkan kepada 30 saat Jika masa pelaksanaan skrip melebihi masa ini, skrip akan ditamatkan dan ralat Fatal akan digesa.
Kami boleh memanjangkan masa pelaksanaan skrip dengan mengubah suai parameter max_execution_time dalam fail php.ini. Cari max_execution_time dalam php.ini, cari baris yang sepadan, dan kemudian ubah suai nilainya. Sebagai contoh, tetapkannya kepada 60 saat:
max_execution_time = 60
Selepas mengubah suai fail php.ini, anda perlu memulakan semula perkhidmatan Apache atau PHP agar ia berkuat kuasa.
Jika kami tidak mahu mengubah suai parameter max_execution_time global, kami juga boleh mengubah suai buat sementara waktu masa pelaksanaan dalam skrip. PHP menyediakan fungsi set_time_limit untuk menetapkan masa pelaksanaan skrip. Parameter fungsi ini mewakili masa berjalan maksimum skrip dalam beberapa saat. Jika kita menetapkan parameter kepada 0, tiada had pada masa pelaksanaan skrip.
Berikut ialah contoh kod:
<?php // 设置脚本的最大执行时间为60秒 set_time_limit(60); // 执行些重要的任务 ... // 恢复脚本的最大执行时间为默认值(按照php.ini中的配置) set_time_limit(0); ?>
Berhati-hati apabila menggunakan fungsi set_time_limit dalam skrip. Fungsi ini hanya boleh digunakan apabila versi PHP lebih rendah daripada 5.3.0 . Dalam 5.3 Ditamatkan dalam versi 0 dan ke atas. Di samping itu, sama ada anda menggunakan fungsi set_time_limit dalam skrip atau mengubah suai parameter max_execution_time php.ini, anda mesti memastikan bahawa masa pelaksanaan ditetapkan dengan munasabah, jika tidak, ia boleh menyebabkan pembaziran sumber pelayan, sekali gus menjejaskan kestabilan sistem .
PCNTL (Kawalan Proses) ialah sambungan dalam PHP untuk proses pemprosesan dan boleh digunakan untuk mengawal pelaksanaan skrip Masa dan proses. Dalam PCNTL, kita boleh menggunakan fungsi pcntl_alarm untuk menetapkan masa berjalan maksimum skrip. Parameter fungsi ini ialah integer yang mewakili bilangan saat. Apabila masa pemasa tiba, isyarat SIGALRM akan dihantar ke proses semasa, dan skrip akan terganggu.
Berikut ialah contoh kod:
<?php // 函数定义 function my_alarm_handler() { // 执行中断代码 ... exit; } // 设置定时器 pcntl_alarm(60); // 设置为60秒 // 安装信号处理器 pcntl_signal(SIGALRM, 'my_alarm_handler'); // 执行重要的任务 ... // 关闭定时器 pcntl_alarm(0); ?>
Nota apabila menggunakan sambungan PCNTL: Pertama, sambungan PCNTL bukan sambungan standard PHP dan perlu didayakan secara eksplisit pada masa penyusunan. Kedua, sambungan ini hanya boleh digunakan dalam persekitaran PHP CLI dan tidak boleh digunakan dalam persekitaran web. Akhir sekali, kerana sambungan PCNTL berkaitan dengan pengendali dan proses isyarat sistem, penjagaan khas perlu diambil apabila menggunakannya untuk mengelakkan hasil yang tidak dapat diramalkan.
Ringkasan
Mengubah suai masa pelaksanaan skrip ialah salah satu kunci untuk meningkatkan prestasi dan kestabilan PHP. Artikel ini memperkenalkan 3 kaedah untuk mengubah suai masa pelaksanaan skrip, termasuk mengubah suai parameter max_execution_time dalam fail konfigurasi php.ini, mengubah suai sementara waktu pelaksanaan dalam skrip dan menggunakan sambungan PCNTL untuk mengawal masa pelaksanaan skrip. Kita boleh memilih kaedah yang sesuai mengikut keperluan sebenar untuk memastikan prestasi tinggi dan kestabilan aplikasi PHP.
Atas ialah kandungan terperinci Bagaimana untuk mengubah suai masa pelaksanaan skrip dalam php? 3 pengenalan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!