本文目錄一覽:
- 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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/155100.html