本文目录一览:
- PHP curl超时设置的时间单位是1秒吗?为什么我的程序显示的是7秒
- php语言如何设置超时处理??
- php-soap-如何设置超时
- PHP怎么设置链接redis的超时时间
- 如何修改IIS中的ASP脚本和PHP脚本超时时间
- 几种常见的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
(PHP3, PHP4)
语法: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()
将不会有结果,除非是关闭安全模式或是修改配置文件中的时间限制。
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脚本超时时间
- 修改ASP脚本超时时间限制 右击需要修改的站点,选择“属性”,然后选择“主目录”,再选择“配置”。 选择“选项”,在ASP脚本超时中修改时间,确定即可。
- 修改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秒,但是在上传文件,或者网络速度很慢的情况下,那么可能触发超时操作。
目前apache fastcgi php-fpm模式下有三个超时设置:
fastcgi超时设置:
修改httpd.conf
的fastcgi连接配置,类似如下:
<IfModule mod_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/"
AddHandler php-fastcgi .php
Action php-fastcgi /fcgi-bin/php-cgi
AddType application/x-httpd-php .php
</IfModule>