本文目录一览:
- 1、PHP curl超时设置的时间单位是1秒吗?为什么我的程序显示的是7秒
- 2、php语言如何设置超时处理??
- 3、php soap 如何设置超时?
- 4、PHP怎么设置链接redis的超时时间
- 5、如何修改IIS中的ASP脚本和PHP脚本超时时间
- 6、几种常见的PHP超时处理方法
PHP curl超时设置的时间单位是1秒吗?为什么我的程序显示的是7秒
泻药
PHP CURL超时设置分两种,毫秒跟秒都是可以的。
curl普通秒级超时:
$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['HTTP_USER_AGENT']);
curl普通秒级超时使用:
curl_setopt($ch, CURLOPT_TIMEOUT,60);
curl如果需要进行毫秒超时,需要增加:
curl_easy_setopt(curl, CURLOPT_NOSIGNAL,1L);
//或者
curl_setopt ( $ch, CURLOPT_NOSIGNAL,true);//支持毫秒级别超时设置
php语言如何设置超时处理??
set_time_limit --- 限制最大的执行时间
set_time_limit
(PH3 , PHP4)
set_time_limit --- 限制最大的执行时间
语法 : void set_time_limit (int seconds)
说明 :
设定一个程式所允许执行的秒数,如果到达限制的时间,程式将会传回错误。它预设的限制时间是30秒,max_execution_time的值定义在结构档案中(在PHP3中叫做php3.ini,在PHP4则叫做php.ini),如果将秒数设为0,表示无时间上的限制。
当呼叫此函式时,set_time_limit( )会从零重新开始计算最长执行的时间,也就是说,如果最长执行时间为预设的30秒,而在呼叫此函式set_time_limit(20)之前已花了25秒来执行程式,则程式最长执行的时间将会是45秒。
注意 : 当PHP是执行在安全模式时,set_time_limit( )将不会有结果,除非是关闭安全模式或是修改结构档案中(在PHP3中叫做php3.ini,在PHP4则叫做php.ini)的时间限制。
php soap 如何设置超时?
在使用soap前,先检查soap的url是否可访问。如为true则继续执行Soap,否则给出超时提醒。
下面是我经常使用的判断网站链接是否可用的函数,希望对你有用。
//判断URL在指定时间内是否有相应
function checkUrl($url, $timeout = 3){
$ret = false;
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL,$url);
curl_setopt($handle, CURLOPT_NOBODY, true);
curl_setopt($handle, CURLOPT_TIMEOUT,$timeout);//设置默认超时时间为3秒
$result = curl_exec($handle);
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
curl_close($handle);
if(strpos($httpCode,'2') == 0){
$ret = true;
}
return $ret;
}
PHP怎么设置链接redis的超时时间
$this-redis-connect($host, $port,3); 3秒连接超时
$this-redis = new Redis();
$this-redis-connect($host, $port);
$this-redis-auth($auth);
这样解决就可以了,简单粗暴
如何修改IIS中的ASP脚本和PHP脚本超时时间
1,修改ASP脚本超时时间限制
右击需要修改的站点,选择“属性”,然后选择“主目录”,再选择“配置”。
选择“选项”,在ASP脚本超时中修改下时间,确定下就可以了。
2,修改PHP脚本超时时间限制
FastCGI Error
The FastCGI Handler was unable to process the request.
--------------------------------------------------------------------------------
Error Details:
•The FastCGI process exceeded configured activity timeout
•Error Number: 258 (0x80070102).
•Error Description: µÈ´ýµÄ²Ù×÷¹ýʱ¡£
HTTP Error 500 - Server Error.
Internet Information Services (IIS)
如果服务器正常,本错误往往发生在提交一个很大的字符串时发生。原因就是在处理如此“巨大”的字符串提交请求时,服务器处理超时了。可以通过设置fcgiext.ini里面的超时配置和php.ini里的超时配置来解决。当然,根据个人对服务器设置的不同,可能还需要修改更多配置信息。比如允许一次性提交多少数据。
大概给该网站建立一个独立的应用程序池也可以解决某些因此原因导致的问题。
在C:\WINDOWS\system32\inetsrv文件夹中找到fcgiext.ini文件。
注意:如果是新版的PHP环境,fcgiext.ini文件是存放在C:\ZkeysSoft\php\目录。
打开文件后,里面关于php脚本活动超时时间(ActivityTimeout)的配置信息如下:
[Types]
php=PHP
[PHP]
ExePath=c:\PHP\php-cgi.exe
InstanceMaxRequests=500
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:1000
ActivityTimeout=1200
里面的数字可以自行调整。上面的提示,即配置文件里的ActivityTimeout=600 这个时间超时设置,600是10分钟,最大可以设置为6000一小时。但不一定就是这个原因引起的。
几种常见的PHP超时处理方法
【Web服务器超时处理】
[ Apache ]
一般在性能很高的情况下,缺省所有超时配置都是30秒,但是在上传文件,或者网络速度很慢的情况下,那么可能触发超时操作。
目前apachefastcgiphp-fpm模式下有三个超时设置:
fastcgi超时设置:
修改httpd.conf的fastcgi连接配置,类似如下:
代码如下:
IfModulemod_fastcgi.c
FastCgiExternalServer/home/forum/apache/apache_php/cgi-bin/php-cgi-socket/home/forum/php5/etc/php-fpm.sock
ScriptAlias/fcgi-bin/"/home/forum/apache/apache_php/cgi-bin/"
AddHandlerphp-fastcgi.php
Actionphp-fastcgi/fcgi-bin/php-cgi
AddTypeapplication/x-httpd-php.php
/IfModule