Home >Backend Development >PHP Problem >How to set timeout in php

How to set timeout in php

coldplay.xixi
coldplay.xixiOriginal
2020-09-07 09:46:4511400browse

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

Modify to:

max_execution_time=600

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);//秒为单位,自己根据需要定义

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

php_value max_execution_time 600

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);

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);
}

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;]);

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!

Statement:
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