php測試執行時間,php判斷時間

本文目錄一覽:

PHP-Fcgi下PHP的執行時間設置方法

昨天,一個程序需要導出500條數據,結果發現到150條是,Nginx報出504

Gateway

Timeout錯誤,原來PHP-Fcgi下的設置執行時間與isapi的不同

一般情況下設置PHP腳本執行超時的時間

一、在php.ini裡面設置

max_execution_time

=

1800;

二、通過PHP的ini_set

函數設置

ini_set(“max_execution_time”,

“1800”);

三、通過set_time_limit

函數設置

set_time_limit(1800);

PHP-Fcgi下PHP的執行時間設置方法

昨天,一個程序需要導出500條數據,結果發現到150條是,Nginx報出504

Gateway

Timeout錯誤

經觀察,發現大約30秒時超時,php.ini中執行時間配置已經是300秒:

複製代碼

代碼如下:

max_execution_time

=

300

再查nginx的相關配置,無果。

寫了一個php的測試頁再測

複製代碼

代碼如下:

echo

‘aaa’;

set_time_limit(0);

sleep(40);

echo

‘aa’;

依然超時,可以確定set_time_limit這個函數沒生效。

再查php-fcgi的配置php-fpm.conf,下邊這個設置疑似有問題

複製代碼

代碼如下:

VALUE

name=”request_terminate_timeout”30s/VALUE

查官方文檔:

複製代碼

代碼如下:

request_terminate_timeout

The

timeout

(in

seconds)

for

serving

a

single

request

after

which

the

worker

process

will

be

terminated.

Should

be

used

when

‘max_execution_time’

ini

option

does

not

stop

script

execution

for

some

reason.

Default:

“5s”.

Note:

‘0s’

means

‘off’

大意是php中set_time_limit設置的時間內如果php還沒執行完,則走此處的配置,也就是request_terminate_timeout=30秒。

先把這個參數改的和php中set_time_limit值一樣,都是300秒,還不行,不理解為什麼,如果高手知道請賜教。

最終把request_terminate_timeout關閉,程序可以正常執行了,問題解決

複製代碼

代碼如下:

VALUE

name=”request_terminate_timeout”0s/VALUE

補充:如果前端的nginx伺服器使用了upstream負載均衡,那個負載均衡配置中以下幾個參數也需要相應修改

複製代碼

代碼如下:

proxy_connect_timeout

300s;

proxy_send_timeout

300s;

proxy_read_timeout

300s;

如何用php獲取程序執行的時間

在文件頭加入$stime=microtime(true);

在文件尾加入

$etime=microtime(true);//獲取程序執行結束的時間

$total=$etime-$stime; //計算差值

echo “br /[頁面執行時間:{$total} ]秒”;

例如

文件頭

?php

$stime=microtime(true);

?

文件尾

?php

$etime=microtime(true);//獲取程序執行結束的時間

$total=$etime-$stime; //計算差值

echo “br /[頁面執行時間:{$total} ]秒”;

這樣就可以計算出整個PHP頁面執行的時間。純手打,望採納。

php有沒有可以檢測函數執行時間的功能

PHP 中的 microtime() 函數可以實現

microtime() 函數返回當前 Unix 時間戳和微秒數。

microtime(get_as_float)

參數說明

get_as_float 如果給出了 get_as_float 參數並且其值等價於 TRUE,該函數將返回一個浮點數。

本函數僅在支持 gettimeofday() 系統調用的操作系統下可用。

例如:

?php

$start_time = microtime(true);

for($i=1;$i=1000;$i++){

echo $i.’br’;

}

$end_time = microtime(true);

echo ‘循環執行時間為:’.($end_time-$start_time).’ s’;

?

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/300819.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-29 14:18
下一篇 2024-12-29 14:18

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • JDK Flux 背壓測試

    本文將從多個方面對 JDK Flux 的背壓測試進行詳細闡述。 一、Flux 背景 Flux 是 JDK 9 對響應式編程的支持。它為響應式編程提供了一種基於推拉模型的方式,以支持…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 解決docker-compose 容器時間和伺服器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與伺服器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • 想把你和時間藏起來

    如果你覺得時間過得太快,每天都過得太匆忙,那麼你是否曾經想過想把時間藏起來,慢慢享受每一個瞬間?在這篇文章中,我們將會從多個方面,詳細地闡述如何想把你和時間藏起來。 一、一些時間管…

    編程 2025-04-28
  • 計算斐波那契數列的時間複雜度解析

    斐波那契數列是一個數列,其中每個數都是前兩個數的和,第一個數和第二個數都是1。斐波那契數列的前幾項為:1,1,2,3,5,8,13,21,34,…。計算斐波那契數列常用…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 時間戳秒級可以用int嗎

    時間戳是指從某個固定的時間點開始計算的已經過去的時間。在計算機領域,時間戳通常使用秒級或毫秒級來表示。在實際使用中,我們經常會遇到需要將時間戳轉換為整數類型的情況。那麼,時間戳秒級…

    編程 2025-04-28
  • 如何在ACM競賽中優化開發時間

    ACM競賽旨在提高程序員的演算法能力和解決問題的實力,然而在比賽中優化開發時間同樣至關重要。 一、規劃賽前準備 1、提前熟悉比賽規則和題目類型,了解常見演算法、數據結構和快速編寫代碼的…

    編程 2025-04-28
  • Powersploit:安全評估與滲透測試的利器

    本文將重點介紹Powersploit,並給出相關的完整的代碼示例,幫助安全人員更好地運用Powersploit進行安全評估和滲透測試。 一、Powersploit簡介 Powers…

    編程 2025-04-28

發表回復

登錄後才能評論