php max_execution_time執(zhí)行時(shí)間問(wèn)題
更新時(shí)間:2011年07月17日 01:03:45 作者:
大部分PHP代碼執(zhí)行時(shí)間都不會(huì)很久。但是有些時(shí)候,比如等待圖片上傳,可能執(zhí)行時(shí)間過(guò)長(zhǎng)導(dǎo)致超時(shí)。
php.ini 中缺省的最長(zhǎng)執(zhí)行時(shí)間是 30 秒,這是由 php.ini 中的 max_execution_time 變量指定,倘若你有一個(gè)需要頗多時(shí)間才能完成的工作,例如要發(fā)送很多電子郵件給大量收件者,或者要進(jìn)行繁重的數(shù)據(jù)分析工作,服務(wù)器會(huì)在 30 秒后強(qiáng)行中止正在執(zhí)行的程序,如何解決這個(gè)問(wèn)題呢。
最簡(jiǎn)單當(dāng)然是修改 php.ini 中 max_execution_time 的數(shù)值,不過(guò)不是所有人都有權(quán)修改 php.ini,例如使用網(wǎng)頁(yè)寄存的開(kāi)發(fā)人員,服務(wù)器上的 php.ini 由很多網(wǎng)站共同使用,所以不能隨意修改。
另一個(gè)辦法是在 PHP 程序中加入 ini_set('max_execution_time', '0'),數(shù)值 0 表示沒(méi)有執(zhí)行時(shí)間的限制,你的程序需要跑多久便跑多久。若果你的程序仍在測(cè)試階段,推薦你把時(shí)限設(shè)置一個(gè)實(shí)數(shù),以免程序的錯(cuò)誤把服務(wù)器當(dāng)?shù)簟?
<?php
//max_execution_time=100;
ini_set("max_execution_time", 1); //用此function才能真正在運(yùn)行時(shí)設(shè)置
for($i=1; $i< 100000; $i++)
{
echo "No. {$i}\n";
echo '<br />';
flush();
}
?>
同時(shí)可以使用ini_get把原來(lái)設(shè)置的max_execution_time保存下來(lái),在進(jìn)行完操作時(shí)回復(fù)原來(lái)的設(shè)定值。
在這里簡(jiǎn)單記錄下~
最簡(jiǎn)單當(dāng)然是修改 php.ini 中 max_execution_time 的數(shù)值,不過(guò)不是所有人都有權(quán)修改 php.ini,例如使用網(wǎng)頁(yè)寄存的開(kāi)發(fā)人員,服務(wù)器上的 php.ini 由很多網(wǎng)站共同使用,所以不能隨意修改。
另一個(gè)辦法是在 PHP 程序中加入 ini_set('max_execution_time', '0'),數(shù)值 0 表示沒(méi)有執(zhí)行時(shí)間的限制,你的程序需要跑多久便跑多久。若果你的程序仍在測(cè)試階段,推薦你把時(shí)限設(shè)置一個(gè)實(shí)數(shù),以免程序的錯(cuò)誤把服務(wù)器當(dāng)?shù)簟?
復(fù)制代碼 代碼如下:
<?php
//max_execution_time=100;
ini_set("max_execution_time", 1); //用此function才能真正在運(yùn)行時(shí)設(shè)置
for($i=1; $i< 100000; $i++)
{
echo "No. {$i}\n";
echo '<br />';
flush();
}
?>
同時(shí)可以使用ini_get把原來(lái)設(shè)置的max_execution_time保存下來(lái),在進(jìn)行完操作時(shí)回復(fù)原來(lái)的設(shè)定值。
在這里簡(jiǎn)單記錄下~
您可能感興趣的文章:
- php中使用exec,system等函數(shù)調(diào)用系統(tǒng)命令的方法(不建議使用,可導(dǎo)致安全問(wèn)題)
- PHP 命令行工具 shell_exec, exec, passthru, system詳細(xì)使用介紹
- PHP 執(zhí)行系統(tǒng)外部命令 system() exec() passthru()
- php在服務(wù)器執(zhí)行exec命令失敗的解決方法
- PHP下通過(guò)exec獲得計(jì)算機(jī)的唯一標(biāo)識(shí)[CPU,網(wǎng)卡 MAC地址]
- PHP 最大運(yùn)行時(shí)間 max_execution_time修改方法
- php模擬ping命令(php exec函數(shù)的使用方法)
相關(guān)文章
PHP用mysql_insert_id()函數(shù)獲得剛插入數(shù)據(jù)或當(dāng)前發(fā)布文章的ID
向mysql 插入數(shù)據(jù)時(shí),很多時(shí)候我們想知道剛剛插入數(shù)據(jù)的id,這對(duì)我們很有用。下面這篇文章就詳細(xì)給大家介紹了利用mysql_insert_id()函數(shù)獲得剛插入數(shù)據(jù)或當(dāng)前發(fā)布文章的ID,有需要的朋友們可以參考借鑒,感興趣的朋友們下面來(lái)一起看看吧。2016-11-11
php生成百度sitemap站點(diǎn)地圖類函數(shù)實(shí)例
這篇文章主要介紹了php生成百度sitemap站點(diǎn)地圖類函數(shù)的方法,詳細(xì)講述了百度站點(diǎn)sitemap的實(shí)現(xiàn)方法與注意事項(xiàng),在web站點(diǎn)的建設(shè)中非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10
PHP中l(wèi)trim()函數(shù)的用法與實(shí)例講解
今天小編就為大家分享一篇關(guān)于PHP中l(wèi)trim()函數(shù)的用法與實(shí)例講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
PHP接口繼承及接口多繼承原理與實(shí)現(xiàn)方法詳解
這篇文章主要介紹了PHP接口繼承及接口多繼承原理與實(shí)現(xiàn)方法,簡(jiǎn)單描述了接口繼承與多接口繼承的概念、原理,并結(jié)合實(shí)例形式給出了php接口繼承的具體實(shí)現(xiàn)與使用等操作技巧,需要的朋友可以參考下2017-10-10

