2025-06-23 23:06:42

大家好,今天小编关注到一个比较有意思的话题,就是关于php 执行时间的问题,于是小编就整理了2个相关介绍php 执行时间的解答,让我们一起看看吧。

php怎么计算脚本运行时间?

startTime = microtime(true); //将获取的时间赋值给成员属性$startTime}//脚本结束处嗲用脚本结束的时间微秒值function stop(){$this->stopTime = microtime(true); //将获取的时间赋给成员属性$stopTime}//返回同一脚本中两次获取时间的差值function spent(){//计算后4舍5入保留4位返回return round(($this->stopTime-$this->startTime),4);}} $timer= new Timer();$timer->start(); //在脚本文件开始执行时调用这个方法usleep(1000); //脚本的主题内容,这里可以休眠一毫秒为例$timer->stop(); //在脚本文件结束处调用这个方法 echo "执行该脚本用时

".$timer->spent()."

php 执行时间,php执行时间过长

"; ?>

php执行的生命周期是怎样的?

PHP的执行分三个阶段:

处理请求的开始阶段、处理请求阶段、请求之后的结束阶段。

处理请求的开始阶段:

1 模块初始化阶段(MINIT),在整个SAPI生命周期内(例如Apache启动以后的整个生命周期内或者命令行程序整个执行过程中),该过程只进行一次。(这应该就是为何修改了php.ini之后,要重启Apache的原因);

PHP_MINIT_FUNCTION(extension_name){

/* Initialize functions, classes etc */

}

2 请求初始化阶段(RINIT),该过程发生在请求阶段, 例如通过url请求某个页面,则在每次请求之前都会进行模块激活。(为何不先激活呢?因为方便模块在RINIT阶段针对各种请求设置环境变量或其他的操作);

PHP_RINIT_FUNCTION(extension_name) {

/* Initialize session variables, pre-populate variables, redefine global variables etc */

}

处理请求阶段:

1 词法分析:将php文件翻译成一个个的token;

2 语法分析:根据生成的token和语法规则进行分析;

3 Zend引擎:将代码编译为opcode后并执行,在执行的过程中还会重复进行编译-执行,例如执行了include语句 (为何不在第一次编译就把这些包含进来的文件也一起编译好?);

4 调用SAPI的输出函数返回执行结果。

处理请求的结束阶段:

1 关闭请求:RSHUTDOWN对应于RINIT,释放资源等操作

2 关闭模块:MSHUTDOWN对应于MINIT,SAPI生命周期结束(Web服务器退出或者命令行脚本执行完毕退出)

PHP_RSHUTDOWN_FUNCTION(extension_name) {

/* Do memory management, unset all variables used in the last PHP call etc */

}

PHP_MSHUTDOWN_FUNCTION(extension_name) {

/* Free handlers and persistent memory etc */

}

到此,以上就是小编对于php 执行时间的问题就介绍到这了,希望介绍关于php 执行时间的2点解答对大家有用。

上一篇:php与html,php与html的区别

下一篇:php微服务,php微服务框架hyperf

相关阅读