在php中預設腳本執行超時時間為30秒了,如果你未進行設定30秒之後如果你的腳本還未執行完就會超時了,下面我來給大詳解解決PHP腳本執行逾時的方法。
推薦手冊:php完全自學手冊
#推薦教學:##PHP影片教學
php.ini 中預設的最長執行時間是30 秒,雖然可以透過調整php.ini 中max_execution_time的值來達到目的,但有些情況是沒有條件修改php.ini的,如何解決這個問題。一種方法是在PHP 腳本中加入
ini_set('max_execution_time', '0');將運行時間設為0(無限值);#
另種方法是在命令列下執行腳本,使用命令列執行腳本時,最大運行時間被設定為了無限值。
修改php.ini的腳本執行時間限制 編輯php.ini,修改max_execution_time值:max_execution_time=500 //此修改需要重新加载php.ini,需要重启web服务器生效。透過.htaccess 檔案設定腳本執行時間
#
php_value max_execution_time 500在腳本中設定執行的最大時間
ini_set('max_execution_time', 500);用php的函數取消腳本的時間限制
set_time_limit(0);set_time_limit用來設定腳本的逾時時間,此函數規定從該時間句執行時起程式必須在指定秒數內執行結束,逾時則程式出錯退出。 以下是一個範例. 有10000個資料, 要修改其中某些資料, 運用PHP逐步執行處理, 程式碼如下:action.php
<?php $stid = isset($_GET['stid'])?$_GET['stid']:0; $endid = $stid + 100; $maxid = 10000; function dosomething(){ //要时间比较多的操作 …… } $sql_string=”select * from `table` where id>’$stid’ and id<=’$endid’ order by id”; $datas = getdata_bysql($sql_string); foreach($datas as $data){ //处理数据 ….. 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()是一個耗時操作. 這裡我們透過限制id範圍來減少運行時間, 運行後透過javascript的跳轉來自動運行下一步現在dedecms產生html頁面時就是這樣做的哦。
相關文章推薦:1.
讓php逾時的方法是什麼 2.
php請求介面逾時如何解決
相關影片推薦:
1.獨孤九賤(4)_PHP影片教學
以上是解決php運行超時的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!