set_time_limit() chạy trên toàn cầu, nhưng nó có thể được thiết lập lại cục bộ.
Đặt số giây mà tập lệnh được phép chạy. Nếu đạt được điều này, tập lệnh sẽ trả về lỗi nghiêm trọng. Giới hạn mặc định là 30 giây hoặc nếu tồn tại , giá trị max_execution_time được xác định trong tệp php.ini.
Khi được gọi, set_time_limit(
) khởi động lại bộ đếm thời gian chờ từ 0. Trong các từ khác, nếu thời gian chờ là 30 giây mặc định và 25 giây vào thực thi tập lệnh, chẳng hạn như set_time_limit (20), kịch bản sẽ chạy trong tổng số 45 giây trước khi hết giờ.
tôi đã không kiểm tra nó, nhưng bạn có thể thiết lập nó tại địa phương, thiết lập lại khi bạn rời khỏi
<?php
set_time_limit(0); // global setting
function doStuff()
{
set_time_limit(10); // limit this function
// stuff
set_time_limit(10); // give ourselves another 10 seconds if we want
// stuff
set_time_limit(0); // the rest of the file can run forever
}
// ....
sleep(900);
// ....
doStuff(); // only has 10 secs to run
// ....
sleep(900);
// ....
set_time_limit
() ... Bất kỳ thời gian dành cho hoạt động xảy ra bên ngoài thực hiện của tập lệnh, chẳng hạn như các cuộc gọi hệ thống sử dụng hệ thống(), hoạt động luồng, truy vấn cơ sở dữ liệu, v.v. không được bao gồm khi xác định thời gian tối đa mà tập lệnh đã chạy. Điều này không đúng trên Windows, nơi thời gian đo được là có thật.
Nguồn
2009-07-24 09:13:31
Bạn muốn điều gì xảy ra nếu bộ hẹn giờ hết hạn trong khi chức năng 1 vẫn đang chạy? – tialaramex