導航:首頁 > 編程語言 > php函數執行時間

php函數執行時間

發布時間:2024-03-15 21:56:18

php執行cmd腳本超時,不能去改ini因為超時期間頁面一直在等待,怎麼才能

PHP腳本執行超時的解決辦法

在php中默認腳本執行超時時間為30秒了,如果未進行設置30秒之後如果你的腳本還未執行完就會超時了,下面我來給大詳解解決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頁面時就是這樣做

❷ PHP函數執行時間過長無響應,有什麼優化的辦法

可以採用MQ,首先將task丟進Q裡面,然後給出用戶提示,前台頁面輪詢後台結果。
如果數據量過大建議分批處理,拆分成多個task即可。

❸ php如何設置時間限制

PHP如何設置頁面最大執行時間

方法:
1、在php.ini文件中 max_execution_time 代表了最大執行時間,其默認值為30。

2、set_time_limit(int seconds);這個函數可以設定,不過據說要在linux下才有用,而且在php.ini中的safe_mode = off

3、ini_set('max_execution_time',最大時間);

❹ php中點擊一個按鈕,執行一個內置函數

<!--?
ignore_user_abort();
//即使Client斷開(如關掉瀏覽器),PHP腳本也可以繼續執行.
set_time_limit(0);
//
執行時間為無限制,php默認的執行時間是30秒,通過set_time_limit(0)可以讓程序無限制的執行下去
$interval=60*5;
//
每隔5分鍾運行
do{
$fp

= fopen("test.txt","a");
fwrite($fp,"rn".date('Y-m-d
H:i:s',time())."rn");
fclose($fp);
sleep($interval);
//
按設置的時間等待5分鍾循環執行
}while(true);
echo

'ok';
?-->

❺ php程序怎麼長時間執行

PHP不能長時間執行的原因:
由於PHP主要用於網頁開發,為了避免長時間執行的網頁佔用太多的網路資源,PHP提供了限制PHP程序執行時間的方法,在php.ini 中的 max_execution_time 變數指定程序最大執行時間,默認是30秒,PHP程序執行超過這個時間後將被系統強制結束。

使PHP長時間執行的辦法:
如果你的PHP系統不是為了網站開發而安裝的,可以在PHP.INI文件裡面修改這個參數的值。如果只是個別程序希望執行較長的時間,不想修改整個系統的配置,或者沒有許可權修改系統配置,可以在PHP程序裡面適用本程序的參數值,語句示例:

//設置時間限制為2分鍾
set_time_limit(120);

//設置時間限制為0,允許無限期執行
set_time_limit(0);

❻ 求php的 時間對比函數!~ 跟判斷

用mktime函數,把時間轉換為整數類型,即可方便的進行比較,下面是mktime函數的說明:

函數格式:
int mktime ( [int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst]]]]]]] )

根據給出的參數返回 Unix 時間戳。時間戳是一個長整數,包含了從 Unix 紀元(January 1 1970 00:00:00 GMT)到給定時間的秒數。

參數可以從右向左省略,任何省略的參數會被設置成本地日期和時間的當前值。

那麼客戶提交時間,就應該是程序執行的當前時間,也就是下面語句獲取:
$cur_tiems = mktime();

現在解決你的上一個時間,如果是以前某次程序執行時保存的時刻,那麼可以在那時候把mktime()的結果保存,如果是你指定的2004-02-23 10:56:23,那麼用下面語句可以獲取他的時間整數:
$last_times = mktime(10,56,23,2,23,2004);

最後就是判斷兩個時間是否相差一個小時,這太簡單了,就是看是否相差3600秒,語句如下:
if ($cur_times - $last_times > 3600) {echo '超過一個小時了,可以投票'; 投票語句;}
else echo '你一個小時之內投過票的,現在不允許這么積極,喝水去吧';

閱讀全文

與php函數執行時間相關的資料

熱點內容
vs2010編譯嵌套太深 瀏覽:980
程序員面試注意事項 瀏覽:740
scratch編譯為h5 瀏覽:208
威聯通套件編譯 瀏覽:231
清刻pdf 瀏覽:982
可編程延時發生器 瀏覽:93
濱州用伺服器織夢要怎麼上傳文件 瀏覽:866
java7與java8 瀏覽:958
真空壓縮袋什麼材質好 瀏覽:935
excel批量見建文件夾 瀏覽:556
黑馬程序員就業班筆記 瀏覽:370
單片機供電自鎖電路設計 瀏覽:56
pythongui測試工具 瀏覽:834
哈曼l7功放編程 瀏覽:219
體溫單片機 瀏覽:613
快捷鍵命令不能用了 瀏覽:348
邊界層加密網格優點 瀏覽:236
linuxvi保存文件 瀏覽:536
把視頻打包出文件夾是什麼意思 瀏覽:446
如何在藏書館app上注銷賬號 瀏覽:827