How to set timeout in php

coldplay.xixi
Release: 2023-03-05 19:10:02
Original
11333 people have browsed it

How to set the timeout time in php: First open the php.ini configuration file; then change [max_execution_time=30] to [max_execution_time=600]. If you do not have server modification permission, you can also use the ini_set() function to set the timeout.

How to set timeout in php

Initial setting script execution time

(Recommended tutorial: php video tutorial)

Open php.ini file, find:

max_execution_time=30
Copy after login

Modify to:

max_execution_time=600
Copy after login

If you do not have server modification permissions, you can set the timeout through the built-in PHP script method. In PHP that needs to perform long-term operations Add the following code to the file:

<?phpini_set(&#39;max_execution_time&#39;, 600);//秒为单位,自己根据需要定义
Copy after login

You can also set the timeout through the .htaccess file and add the following code to the file:

php_value max_execution_time 600
Copy after login

Method for PHP to request a remote address to set the timeout:

1, file_get_contents Request timeout setting

$timeout = array(
&#39;http&#39;=> array(
&#39;timeout&#39;=>5//设置一个超时时间,单位为秒
)
);
$ctx = stream_context_create($timeout);
$text = file_get_contents("https://www.jb51.net/",0, $ctx);
Copy after login

2, fopen Request timeout setting

$timeout = array(
&#39;http&#39; => array(
&#39;timeout&#39; => 5 //设置一个超时时间,单位为秒
)
);
$ctx = stream_context_create($timeout);
if ($fp = fopen("https://www.jb51.net/", "r", false, $ctx)) {
while( $c = fread($fp, 8192)) {
echo $c;
}
fclose($fp);
}
Copy after login

3, curlRequest timeout setting

CURL is a commonly used lib library for accessing the HTTP protocol interface, with high performance and Some concurrency support features, etc.

curl_setopt($ch, opt) You can set some timeout settings, mainly including:

a, CURLOPT_TIMEOUT sets the maximum number of seconds that cURL is allowed to execute.

b. CURLOPT_TIMEOUT_MS sets the maximum number of milliseconds that cURL is allowed to execute.

c. CURLOPT_CONNECTTIMEOUT The time to wait before initiating a connection. If set to 0, it will wait indefinitely.

d. CURLOPT_CONNECTTIMEOUT_MS The time to wait for a connection attempt, in milliseconds. If set to 0, wait infinitely.

e. CURLOPT_DNS_CACHE_TIMEOUT sets the time to save DNS information in memory, the default is 120 seconds.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT,60);  //只需要设置一个秒的数量就可以
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_USERAGENT, $defined_vars[&#39;HTTP_USER_AGENT&#39;]);
Copy after login

If you want to learn more about programming, please pay attention to the php training column!

The above is the detailed content of How to set timeout in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template