php運(yùn)行超時(shí)的解決方法有哪些?針對這個(gè)問題,今天小編總結(jié)了這篇文章,希望能幫助更多想解決這個(gè)問題的朋友找到更加簡單易行的辦法。
成都創(chuàng)新互聯(lián)公司專注于梁山企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城系統(tǒng)網(wǎng)站開發(fā)。梁山網(wǎng)站建設(shè)公司,為梁山等地區(qū)提供建站服務(wù)。全流程按需求定制開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
在php中默認(rèn)腳本執(zhí)行超時(shí)時(shí)間為30秒了,如果你未進(jìn)行設(shè)置30秒之后如果你的腳本還未執(zhí)行完就會超時(shí)了,下面我來給大詳解解決PHP腳本執(zhí)行超時(shí)的方法。
php.ini 中缺省的最長執(zhí)行時(shí)間是 30 秒,雖然可以通過調(diào)整 php.ini 中 max_execution_time的值來達(dá)到目的,但有些情況是沒有條件修改php.ini的,如何解決這個(gè)問題呢。
一種方法是在 PHP 腳本中加入
ini_set('max_execution_time', '0');
將運(yùn)行時(shí)間設(shè)置成0(無限值);
另一種方法是在命令行下執(zhí)行腳本,使用命令行執(zhí)行腳本時(shí),最大運(yùn)行時(shí)間被設(shè)置為了無限值。
修改php.ini的腳本執(zhí)行時(shí)間限制
編輯php.ini,修改max_execution_time值:
max_execution_time=500 //此修改需要重新加載php.ini,需要重啟web服務(wù)器生效。
通過.htaccess 文件設(shè)置腳本執(zhí)行時(shí)間
php_value max_execution_time 500
在腳本中設(shè)置執(zhí)行的最大時(shí)間
ini_set('max_execution_time', 500);
用php的函數(shù)取消腳本的時(shí)間限制
set_time_limit(0);
set_time_limit用來設(shè)置腳本的超時(shí)時(shí)間,此函數(shù)規(guī)定從該句運(yùn)行時(shí)起程序必須在指定秒數(shù)內(nèi)運(yùn)行結(jié)束,超時(shí)則程序出錯(cuò)退出。
下面是一個(gè)例子. 有10000條數(shù)據(jù), 要修改其中某些數(shù)據(jù), 運(yùn)用PHP分步執(zhí)行處理, 代碼如下:
action.php
<?php $stid = isset($_GET['stid'])?$_GET['stid']:0; $endid = $stid + 100; $maxid = 10000; function dosomething(){ //要時(shí)間比較多的操作 …… } $sql_string=”select * from `table` where id>’$stid’ and id<=’$endid’ order by id”; $datas = getdata_bysql($sql_string); foreach($datas as $data){ //處理數(shù)據(jù) ….. echo $id.” 處理完成. <br />”; if($id>=$maxid){exit;} } if($stid<=$maxid){ $stid = $stid + 100; $url=”action.php?stid=$stid”; echo $url; echo ‘<script language=”javascript”>location=”‘.$url.’”; </script>’; } ?>
其中的dosomething()是一個(gè)耗時(shí)操作. 這里我們通過限制id范圍來減少運(yùn)行時(shí)間, 運(yùn)行完后通過javascript的跳轉(zhuǎn)來自動運(yùn)行下一步
現(xiàn)在dedecms生成html頁面時(shí)就是這樣做的哦。
關(guān)于php運(yùn)行超時(shí)的解決方法有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
本文題目:php運(yùn)行超時(shí)的解決方法有哪些
網(wǎng)站網(wǎng)址:http://www.chinadenli.net/article28/jcoojp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、標(biāo)簽優(yōu)化、建站公司、、外貿(mào)建站、域名注冊
聲明:本網(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)