欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

php數(shù)據(jù)超時(shí),php設(shè)置超時(shí)時(shí)間

幾種常見(jiàn)的PHP超時(shí)處理方法

進(jìn)入php源程序目錄中的ext目錄中,這里存放著各個(gè)擴(kuò)展模塊的源代碼,選擇你需要的模塊,比如curl模塊:cd curl

創(chuàng)新互聯(lián)是專業(yè)的鹽山網(wǎng)站建設(shè)公司,鹽山接單;提供做網(wǎng)站、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行鹽山網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

執(zhí)行phpize生成編譯文件,phpize在PHP安裝目錄的bin目錄下

/usr/local/php5/bin/phpize

運(yùn)行時(shí),可能會(huì)報(bào)錯(cuò):Cannot find autoconf. Please check your autoconf installation and

the $PHP_AUTOCONF

environment variable is set correctly and then rerun this

script.,需要安裝autoconf:

yum install autoconf(RedHat或者CentOS)、apt-get install

autoconf(Ubuntu Linux)

/usr/local/php5/bin/php -v

執(zhí)行這個(gè)命令時(shí),php會(huì)去檢查配置文件是否正確,如果有配置錯(cuò)誤,

這里會(huì)報(bào)錯(cuò),可以根據(jù)錯(cuò)誤信息去排查!

怎樣解決php頁(yè)面的載入超時(shí)問(wèn)題?

當(dāng)PHP頁(yè)面處理大事務(wù)時(shí),頁(yè)面往往會(huì)發(fā)生超時(shí)的錯(cuò)誤,我解決此問(wèn)題的方法如下:1.優(yōu)化程序代碼:這種方法可能有時(shí)立竿見(jiàn)影,但對(duì)一些已經(jīng)很優(yōu)化或者第三方開(kāi)發(fā)的程序,可能用處不大,但我個(gè)人覺(jué)得這個(gè)辦法還是應(yīng)該優(yōu)先考慮,這個(gè)一個(gè)優(yōu)秀程序員必需有的工作美德。2.對(duì)多個(gè)任務(wù)進(jìn)行拆分:對(duì)于一些程序,可能問(wèn)題并不出現(xiàn)在代碼效率上,如Paypal的SOAP調(diào)用,大量時(shí)間花費(fèi)在網(wǎng)絡(luò)的數(shù)據(jù)傳遞上了,(此問(wèn)題在Web Services的遠(yuǎn)程調(diào)用時(shí)經(jīng)常發(fā)生),我們當(dāng)然不能等將來(lái)網(wǎng)速的提高來(lái)解決這個(gè)問(wèn)題。其實(shí)我們可以查看一下在一個(gè)POST動(dòng)作中是否包含了多個(gè)任務(wù),如付費(fèi)、發(fā)Email、發(fā)貨等等。如是這樣其實(shí)可以對(duì)這些任務(wù)進(jìn)行拆分,把這個(gè)工作拆分成多個(gè)子工作來(lái)實(shí)現(xiàn)。如執(zhí)行完付費(fèi)任務(wù)時(shí),使用PHP的Header函數(shù)重定向到發(fā)送Email的頁(yè)面,完成后再定向到其他頁(yè)面,采用redirect頁(yè)面的方式來(lái)接力地完成任務(wù)。3.進(jìn)行PHP設(shè)定值的修改如果以上兩種方法仍然無(wú)法解決,代碼已經(jīng)最優(yōu)話,同時(shí)只有一個(gè)單任務(wù)的工作需要完成。針對(duì)這樣的情況,只能修改PHP的設(shè)定值了。不過(guò)建議不要直接修改PHP.ini,這樣會(huì)延長(zhǎng)所有PHP執(zhí)行的最大時(shí)間。簡(jiǎn)單的方法就是使用init_set函數(shù),以下的代碼把PHP最大執(zhí)行時(shí)間設(shè)定為180秒。ini_set('max_execution_time', '180');同時(shí)可以使用ini_get把原來(lái)設(shè)置的max_execution_time保存下來(lái),在進(jìn)行完操作時(shí)回復(fù)原來(lái)的設(shè)定值。

PHP file_get_contents 函數(shù)超時(shí)的幾種解決方法

這里就簡(jiǎn)單介紹兩種:

一、增加超時(shí)的時(shí)間限制

這里需要注意:set_time_limit只是設(shè)置你的PHP程序的超時(shí)時(shí)間,而不是file_get_contents函數(shù)讀取URL的超時(shí)時(shí)間。

我一開(kāi)始以為set_time_limit也能影響到file_get_contents,后來(lái)經(jīng)測(cè)試,是無(wú)效的。真正的修改file_get_contents延時(shí)可以用resource

$context的timeout參數(shù):

復(fù)制代碼

代碼如下:

$opts

=

array(

‘http'=array(

‘method'=”GET”,

‘timeout'=60,

)

);

$context

=

stream_context_create($opts);

$html

=file_get_contents('',

false,

$context);

fpassthru($fp);

二、一次有延時(shí)的話那就多試幾次

有時(shí)候失敗是因?yàn)榫W(wǎng)絡(luò)等因素造成,沒(méi)有解決辦法,但是可以修改程序,失敗時(shí)重試幾次,仍然失敗就放棄,因?yàn)閒ile_get_contents()如果失敗將返回

FALSE,所以可以下面這樣編寫代碼:

復(fù)制代碼

代碼如下:

$cnt=0;

while($cnt

3

($str=@file_get_contents('http…'))===FALSE)

$cnt++;

PHP中幾種常見(jiàn)的超時(shí)處理全面總結(jié)

具體代碼如下:

?php

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, '');

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

echo $file_contents;

?

PHP 獨(dú)特的語(yǔ)法混合了C、Java、Perl以及PHP自創(chuàng)的語(yǔ)法。

它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。用PHP做出的動(dòng)態(tài)頁(yè)面與其他的編程語(yǔ)言相比,PHP是將程序嵌入到HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)文檔中去執(zhí)行,

執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;

PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。

thinkpphp3.1.3 rabbitmq 消費(fèi)時(shí) 長(zhǎng)時(shí)間不用 數(shù)據(jù)庫(kù)連接超時(shí)2006:MySQL server has gone away 咋怎?

1.由于數(shù)據(jù)庫(kù)設(shè)計(jì)問(wèn)題造成SQL數(shù)據(jù)庫(kù)新增數(shù)據(jù)時(shí)超時(shí)

癥狀:

Microsoft OLE DB Provider for SQL Server 錯(cuò)誤 '80040e31' ([ODBC SQL Server Driver]超時(shí)已過(guò)期);

服務(wù)器上看CPU、內(nèi)存占用率很低;

事件日志中提示: 數(shù)據(jù)庫(kù) '*********' 中文件 '***********' 的自動(dòng)增長(zhǎng)在 453 毫秒后已取消或出現(xiàn)超時(shí)。使用 ALTER DATABASE 設(shè)置更小的 FILEGROWTH 或設(shè)置新的大小。

原因:

數(shù)據(jù)庫(kù)設(shè)置時(shí),[文件增長(zhǎng)]按百分比來(lái)增長(zhǎng),當(dāng)數(shù)據(jù)庫(kù)文件很大時(shí)(1G以上),新增操作都會(huì)報(bào)超時(shí),而這時(shí)候其實(shí)CPU、內(nèi)存占用率都非常非常的低。

解決方法:

把上述的文件增長(zhǎng)這里設(shè)置為一個(gè)更低的百分比或者直接指定增加多少兆字節(jié)。

2.SQL Server數(shù)據(jù)庫(kù)超時(shí)設(shè)置

修改客戶端的連接超時(shí)設(shè)置。默認(rèn)情況下,通過(guò)企業(yè)管理器注冊(cè)另外一臺(tái)SQL Server的超時(shí)設(shè)置是 4 秒,而查詢分析器是 15 秒。

企業(yè)管理器中的設(shè)置:

在企業(yè)管理器中,選擇菜單上的"工具",再選擇"選項(xiàng)";

在彈出的"SQL Server企業(yè)管理器屬性"窗口中,點(diǎn)擊"高級(jí)"選項(xiàng)卡;

在"連接設(shè)置"下的"登錄超時(shí)(秒)"右邊的框中輸入一個(gè)比較大的數(shù)字,如 30。

查詢分析器中的設(shè)置:

單擊“工具”-"選項(xiàng)"-"連接"; 將登錄超時(shí)設(shè)置為一個(gè)較大的數(shù)字,連接超時(shí)改為0。

3.查詢語(yǔ)句時(shí)超時(shí)

原因分析:

查詢超時(shí)一般來(lái)說(shuō)首先要從sql語(yǔ)句和數(shù)據(jù)表的結(jié)構(gòu)上找原因,優(yōu)化sql語(yǔ)句和為數(shù)據(jù)庫(kù)的查詢字段建索引是最常用的辦法。

另外,數(shù)據(jù)庫(kù)的查詢超時(shí)設(shè)置一般是sqlserver自己維護(hù)的(在你沒(méi)有修改query wait配置前),只有當(dāng)你的實(shí)際查詢時(shí)間超過(guò)估計(jì)查詢時(shí)間的25倍時(shí),才會(huì)超時(shí)。

而造成超出估計(jì)值那么多的原因有兩種可能:

估計(jì)時(shí)間不準(zhǔn)確;

sql語(yǔ)句涉及到大量占用內(nèi)存的查詢(如排序和哈希操作),內(nèi)存不夠,需要排隊(duì)等待資源造成的。

解決辦法:

優(yōu)化語(yǔ)句,創(chuàng)建\使用合適的索引;

解決第一個(gè)問(wèn)題的方法,更新要查詢表的索引分發(fā)統(tǒng)計(jì),保證估計(jì)時(shí)間的正確性,UPDATE STATISTICS 表名;

增加內(nèi)存

如果想手動(dòng)設(shè)置查詢超時(shí),可以使用以下語(yǔ)句:

sp_configure 'show advanced options', 1 GO RECONFIGURE GO sp_configure 'query wait', 2147483647 GO RECONFIGURE GO

4.應(yīng)用程序連接失敗

故障:

在應(yīng)用程序中我們也會(huì)遇到類似的錯(cuò)誤信息,例如:

Microsoft OLE DB Provider for ODBC Drivers 錯(cuò)誤 '80004005'. [Microsoft][ODBC SQL Server Driver]超時(shí)已過(guò)期.

解決方法:

A.如果遇到連接超時(shí)的錯(cuò)誤,我們可以在程序中修改 Connection 對(duì)象的超時(shí)設(shè)置,再打開(kāi)該連接。例如:

<%Set Conn = Server.CreateObject("ADODB.Connection")DSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"Conn. Properties("Connect Timeout") = 15 '以秒為單位Conn.open DSNtest%>

B.  如果遇到查詢超時(shí)的錯(cuò)誤,我們可以在程序中修改 Recordset 對(duì)象的超時(shí)設(shè)置,再打開(kāi)結(jié)果集。例如:

Dim cn As New ADODB.ConnectionDim rs As ADODB.Recordset. . . cmd1 = txtQuery.TextSet rs = New ADODB.Recordsetrs.Properties("Command Time Out") = 300'同樣以秒為單位,如果設(shè)置為 0 表示無(wú)限制rs.Open cmd1, cnrs.MoveFirst. . .

另外,一些硬件及網(wǎng)絡(luò)方面的原因也可能造成SQL數(shù)據(jù)庫(kù)連接超時(shí).

php httpclient 超時(shí)怎么辦

//HttpClient功能很強(qiáng)大,可以和snoopy一樣實(shí)行模擬數(shù)據(jù)提交等操作

使用靜態(tài)方法quikGet(ur)或者quickPost(url)無(wú)法做到設(shè)置超時(shí)時(shí)間,所以做了如下修改,通過(guò)下面的方法可以實(shí)現(xiàn)

//設(shè)置時(shí)間超時(shí)

$bits = parse_url($main_url);

$host = $bits['host'];

$port = isset($bits['port']) ? $bits['port'] : 80;

$path = isset($bits['path']) ? $bits['path'] : '/';

if (isset($bits['query'])) {

echo $path .= '?'.$bits['query'];

}

// $client = new HttpClient($main_url);

//$client-setDebug(false);

$client = new HttpClient($host, $port);

$client -timeout =10;

if (!$client-get($path)) {

return false;

} else {

$pageContents = $client-getContent();

}

//

網(wǎng)站名稱:php數(shù)據(jù)超時(shí),php設(shè)置超時(shí)時(shí)間
分享路徑:http://chinadenli.net/article14/hecige.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)服務(wù)器托管品牌網(wǎng)站設(shè)計(jì)用戶體驗(yàn)網(wǎng)站設(shè)計(jì)公司網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化