久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

php加載數(shù)據(jù)超時(shí),php 超時(shí)

php進(jìn)程超時(shí)接口返回504錯(cuò)誤分析

在一次接口測試中,發(fā)現(xiàn)返回的http 504 time out 的錯(cuò)誤,然后查看了php-fpm的錯(cuò)誤日志,發(fā)現(xiàn)了如下錯(cuò)誤

創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè)|企業(yè)網(wǎng)站維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋成都自上料攪拌車等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身策劃品質(zhì)網(wǎng)站。

從表現(xiàn)上看,是php進(jìn)程超時(shí)導(dǎo)致的進(jìn)程被kill了,那么這個(gè)超時(shí)時(shí)間以及kill的機(jī)制是跟哪些參數(shù)有關(guān)呢,這里系統(tǒng)這里一下。

Nginx服務(wù)一般因?yàn)閜hp的錯(cuò)誤或者超時(shí)會有兩種錯(cuò)誤碼502 bad Gateway 或者 504 Gateway Time-out

一種情況是php產(chǎn)生了語法錯(cuò)誤,比如循環(huán)調(diào)用、變量作用域錯(cuò)誤、方法不存在等,如果開啟錯(cuò)誤日志輸出的話,這種錯(cuò)誤在php-fpm的錯(cuò)誤日志中是可以看到調(diào)用棧信息的。

另外一種情況可能就是超時(shí)引起的php-fpm主動(dòng)kill的情況,在php.ini和php.fpm中有兩個(gè)配置項(xiàng),用來管理php腳本的最大執(zhí)行時(shí)間

當(dāng)php腳本的執(zhí)行時(shí)間超過這個(gè)時(shí)間時(shí),PHP-FPM不只會終止腳本的執(zhí)行,還會終止執(zhí)行腳本的Worker進(jìn)程。所以Nginx會發(fā)現(xiàn)與自己通信的連接斷掉了,就會返回給客戶端502錯(cuò)誤。

以頂部的錯(cuò)誤為例,當(dāng)報(bào)502錯(cuò)誤是,nginx的errorlog中有如下日志,:

所以只需將這兩項(xiàng)的值調(diào)大一些就可以讓PHP腳本不會因?yàn)閳?zhí)行時(shí)間長而被終止了。request_terminate_timeout可以覆蓋max_execution_time,

所以如果不想改全局的php.ini,那只改PHP-FPM的配置就可以了。

此外要注意的是Nginx的upstream模塊中的max_fail和fail_timeout兩項(xiàng)。這兩個(gè)配置表示在fail_timeout事件內(nèi),如果fail的測試達(dá)到max_fail,那么在接下來的fail_timeout時(shí)間內(nèi),Nginx都會認(rèn)為上游服務(wù)器掛掉了,都會返回502錯(cuò)誤。

所以可以將max_fail調(diào)大一些,將fail_timeout調(diào)小一些。

PHP-FPM設(shè)置的腳本最大執(zhí)行時(shí)間已經(jīng)夠長了,但執(zhí)行耗時(shí)PHP腳本時(shí),發(fā)現(xiàn)Nginx報(bào)錯(cuò)從502變?yōu)?04了。這是為什么呢?

因?yàn)槲覀冃薷牡闹皇荘HP的配置,Nginx中也有關(guān)于與上游服務(wù)器通信超時(shí)時(shí)間的配置

以Nginx超時(shí)時(shí)間為90秒,PHP-FPM超時(shí)時(shí)間為300秒為例,報(bào)504 Gateway Timeout錯(cuò)誤時(shí)的Nginx錯(cuò)誤訪問日志如下:

調(diào)高這三項(xiàng)的值(主要是read和send兩項(xiàng),默認(rèn)不配置的話Nginx會將超時(shí)時(shí)間設(shè)為60秒)之后,504錯(cuò)誤也解決了。

而且這三項(xiàng)配置可以配置在http、server級別,也可以配置在location級別。擔(dān)心影響其他應(yīng)用的話,就配置在自己應(yīng)用的location中吧。

要注意的是factcgi_connect/read/send_timeout是對FastCGI生效的,而proxy_connect/read/send_timeout是對proxy_pass生效的。

參考鏈接: 感謝分享!

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

這里就簡單介紹兩種:

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

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

我一開始以為set_time_limit也能影響到file_get_contents,后來經(jīng)測試,是無效的。真正的修改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ò)等因素造成,沒有解決辦法,但是可以修改程序,失敗時(shí)重試幾次,仍然失敗就放棄,因?yàn)閒ile_get_contents()如果失敗將返回

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

復(fù)制代碼

代碼如下:

$cnt=0;

while($cnt

3

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

$cnt++;

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

set_time_limit(0);

這個(gè)是不限制上傳文件的時(shí)間,寫到頁面就可以

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

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

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

/usr/local/php5/bin/phpize

運(yùn)行時(shí),可能會報(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會去檢查配置文件是否正確,如果有配置錯(cuò)誤,

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

php處理大量數(shù)據(jù)時(shí),運(yùn)行到一定時(shí)間就中斷了,請問如何解決

php處理數(shù)據(jù)時(shí)會有一個(gè)等待時(shí)間,就是所說的超時(shí)時(shí)間,而且如果使用mysql的話,它也有一個(gè)超時(shí)時(shí)間,運(yùn)行一串代碼時(shí)間如果超過配置文件的時(shí)間,會被中斷不運(yùn)行。第一種你可以修改php配置文件timeout的運(yùn)行時(shí)間,第二你可以分批處理大量數(shù)據(jù),注意是分批處理,就OK了。

PHP 用fopen讀取網(wǎng)頁內(nèi)容總是超時(shí)

好像默認(rèn)的是每個(gè)頁面中腳本的執(zhí)行時(shí)間最大30秒,估計(jì)你在腳本運(yùn)行抓取這10頁面時(shí)超過了30秒,所以就會報(bào)超時(shí)!

你可以在腳本前面加一句 ini_set('max_execution_time', '0');

把腳本最大執(zhí)行時(shí)間設(shè)置為0,這樣就是無時(shí)間限制,直到腳本執(zhí)行完成!

網(wǎng)站標(biāo)題:php加載數(shù)據(jù)超時(shí),php 超時(shí)
文章來源:http://sd-ha.com/article48/phhiep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、標(biāo)簽優(yōu)化品牌網(wǎng)站設(shè)計(jì)、、App設(shè)計(jì)、建站公司

廣告

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

搜索引擎優(yōu)化