如何获取一个页面从发送请求开始到加载完毕的时间段 PHP的

如何获取一个页面从发送请求开始到加载完毕的时间段 PHP的,第1张

粗略的可以这样:

只统计html的加载时间:文件开头写上<php define(MY_START_TIME, microtime(true)); >

结束的时候写上<php define(MY_END_TIME, microtime(true));

$serverCost = MY_START_TIME - MY_END_TIME; >就是。

统计状态栏的滚动不再动为止的话,可能得这样:

页面

<head>中尽可能靠前:

<script>var myStat = {

client_start: new Date()

}</script>

<body onload="void your_func();">

<script>

your_func(){

var now = new Date();

var statResult = myStatserver_cost + (myStatclient_startgetTime() - nowgetTime())/1000;

alert('页面耗时:' + statResult + '秒。');

}

</script>

页面末尾:

<php define(MY_END_TIME, microtime(true));

$serverCost = MY_START_TIME - MY_END_TIME; >

<script>

myStatserver_cost = <php echo $serverCost>;

</script>

不过这只是粗略的一种统计方法,仅供参考。

这个需要配合js,打开一个html页面,首先js用ajax请求页面,返回第一个页面信息确定处理完毕(ajax有强制同步功能),ajax再访问第二个页面。(或者根据服务器状况,你可以同时提交几个URL,跑几个相同的页面)

参数可以由js产生并传递url,php后台页面根据URL抓页面。然后ajax通过php,在数据库或者是哪里设一个标量,标明检测到哪里。由于前台的html页面执行多少时候都没问题,这样php的内存限制和执行时间限制就解决了。

因为不会浪费大量的资源用一个页面来跑一个瞬间500次的for循环了。(你的500次for循环死了原因可能是获取的数据太多,大过了php限制的内存)

不过印象中curl好像也有强制同步的选项,就是等待一个抓取后再执行下一步。但是这个500次都是用一个页面线程处理,也就是说肯定会远远大于30秒的默认执行时间。

1常规方法:可以通过 $_SERVER['>

您好!很高兴为您答疑!

>

模拟GET请求:file_get_contents($url)通过php内置的file_get_contents函数可以模拟浏览器访问网址的行为。

取的结果就是那个网址所返回的所有网址。

网页浏览器(WebBrowser),常被简称为浏览器,是一种用于检索并展示万维网信息资源的应用程序。这些信息资源可为网页、、影音或其他内容,它们由统一资源标志符标志,信息资源中的超链接可使用户方便地浏览相关信息。

以上就是关于如何获取一个页面从发送请求开始到加载完毕的时间段 PHP的全部的内容,包括:如何获取一个页面从发送请求开始到加载完毕的时间段 PHP的、如何通过php的curl模拟ajax请求,获取其返回值、怎么取PHP跳转前页的地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9805844.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存