2011-02-01 37 views
5

Tôi đang chạy tập lệnh khá dài để tìm nạp nội dung của miền được chỉ định và phân tích cú pháp html trước khi chạy một loạt các kiểm tra trên html được cho biết. Dù sao thì tập lệnh sẽ hết sau một thời gian. Tôi đã thử đặt này ở đầu trang của tôi nhưng vẫn không có may mắn:Làm thế nào để loại bỏ giới hạn thời gian CURL trong PHP?

set_time_limit(0); 

Đây là lỗi trong câu hỏi:

cURL error number:28 
cURL error:Operation timed out after 10000 milliseconds with 316183 out of 6476018 bytes received 

Trả lời

22

Bạn cần phải thiết lập khoảng thời gian curl được để hoàn thành các hoạt động của nó với curl_setopt.

Cài đặt CURLOPT_TIMEOUT phải cụ thể.

curl_setopt($ch, CURLOPT_TIMEOUT, 400); // the timeout in seconds 

http://www.php.net/manual/en/function.curl-setopt.php

1

Set CURLOPT_TIMEOUT đến một giá trị cao hơn.

+0

Đặt CURLOPT_TIMEOUT thành giá trị cao hơn sẽ không xóa giới hạn thời gian. Đặt nó thành 0 (0). Cũng vậy với CURLOPT_TIMEOUT_MS. (nguồn: http://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html/http://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT_MS.html) –

4

Sử dụng tùy chọn CURLOPT_TIMEOUT kết hợp với curl_setopt().

curl_setopt($curl, CURLOPT_TIMEOUT, 0); // zero waits indefinitely 

set_time_limit() chỉ đặt thời lượng tập lệnh có thể chạy. Sự cố bạn gặp phải là thời gian chờ cURL.

http://php.net/curl-setopt

+0

CURLOPT_CONNECTTIMEOUT \t Số giây chờ trong khi thử kết nối. Sử dụng 0 để chờ vô thời hạn. VS CURLOPT_TIMEOUT \t Số giây tối đa để cho phép các hàm cURL thực thi. – profitphp

+0

@profitphp: Nhưng theo như hướng dẫn có liên quan, không có tùy chọn nào như 'CURLOPT_TIMEOUT'. – Jonah

+0

đọc xa hơn ... – profitphp

Các vấn đề liên quan