php max_execution_time執(zhí)行時間問題
更新時間:2011年07月17日 01:03:45 作者:
大部分PHP代碼執(zhí)行時間都不會很久。但是有些時候,比如等待圖片上傳,可能執(zhí)行時間過長導(dǎo)致超時。
php.ini 中缺省的最長執(zhí)行時間是 30 秒,這是由 php.ini 中的 max_execution_time 變量指定,倘若你有一個需要頗多時間才能完成的工作,例如要發(fā)送很多電子郵件給大量收件者,或者要進(jìn)行繁重的數(shù)據(jù)分析工作,服務(wù)器會在 30 秒后強(qiáng)行中止正在執(zhí)行的程序,如何解決這個問題呢。
最簡單當(dāng)然是修改 php.ini 中 max_execution_time 的數(shù)值,不過不是所有人都有權(quán)修改 php.ini,例如使用網(wǎng)頁寄存的開發(fā)人員,服務(wù)器上的 php.ini 由很多網(wǎng)站共同使用,所以不能隨意修改。
另一個辦法是在 PHP 程序中加入 ini_set('max_execution_time', '0'),數(shù)值 0 表示沒有執(zhí)行時間的限制,你的程序需要跑多久便跑多久。若果你的程序仍在測試階段,推薦你把時限設(shè)置一個實數(shù),以免程序的錯誤把服務(wù)器當(dāng)?shù)簟?
<?php
//max_execution_time=100;
ini_set("max_execution_time", 1); //用此function才能真正在運行時設(shè)置
for($i=1; $i< 100000; $i++)
{
echo "No. {$i}\n";
echo '<br />';
flush();
}
?>
同時可以使用ini_get把原來設(shè)置的max_execution_time保存下來,在進(jìn)行完操作時回復(fù)原來的設(shè)定值。
在這里簡單記錄下~
最簡單當(dāng)然是修改 php.ini 中 max_execution_time 的數(shù)值,不過不是所有人都有權(quán)修改 php.ini,例如使用網(wǎng)頁寄存的開發(fā)人員,服務(wù)器上的 php.ini 由很多網(wǎng)站共同使用,所以不能隨意修改。
另一個辦法是在 PHP 程序中加入 ini_set('max_execution_time', '0'),數(shù)值 0 表示沒有執(zhí)行時間的限制,你的程序需要跑多久便跑多久。若果你的程序仍在測試階段,推薦你把時限設(shè)置一個實數(shù),以免程序的錯誤把服務(wù)器當(dāng)?shù)簟?
復(fù)制代碼 代碼如下:
<?php
//max_execution_time=100;
ini_set("max_execution_time", 1); //用此function才能真正在運行時設(shè)置
for($i=1; $i< 100000; $i++)
{
echo "No. {$i}\n";
echo '<br />';
flush();
}
?>
同時可以使用ini_get把原來設(shè)置的max_execution_time保存下來,在進(jìn)行完操作時回復(fù)原來的設(shè)定值。
在這里簡單記錄下~
您可能感興趣的文章:
- php中使用exec,system等函數(shù)調(diào)用系統(tǒng)命令的方法(不建議使用,可導(dǎo)致安全問題)
- PHP 命令行工具 shell_exec, exec, passthru, system詳細(xì)使用介紹
- PHP 執(zhí)行系統(tǒng)外部命令 system() exec() passthru()
- php在服務(wù)器執(zhí)行exec命令失敗的解決方法
- PHP下通過exec獲得計算機(jī)的唯一標(biāo)識[CPU,網(wǎng)卡 MAC地址]
- PHP 最大運行時間 max_execution_time修改方法
- php模擬ping命令(php exec函數(shù)的使用方法)
相關(guān)文章

PHP使用HTML5 FileApi實現(xiàn)Ajax上傳文件功能示例
這篇文章主要介紹了PHP使用HTML5 FileApi實現(xiàn)Ajax上傳文件功能,結(jié)合實例形式分析了HTML5 FileApi的功能、原理及php使用HTML5 FileApi實現(xiàn)ajax上傳的相關(guān)操作技巧,需要的朋友可以參考下
2019-07-07 
PHP表單提交表單名稱含有點號(.)則會被轉(zhuǎn)化為下劃線(_)
做項目的過程中發(fā)現(xiàn),表單遞交就是不成功,后來發(fā)現(xiàn)原來我給控件的名字不規(guī)范導(dǎo)致,控件遞交到后端之后,發(fā)現(xiàn)所有我控件名字中含有.號的名字,遞交過之后都會被轉(zhuǎn)化成下劃線_
2011-12-12