首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP微时间返回不同的结果

问PHP微时间返回不同的结果
EN

Stack Overflow用户
提问于 2013-10-24 09:05:08
回答 1查看 383关注 0票数 1

在PHP中使用microtime函数时,我似乎遇到了一个奇怪的问题。在我的index.php上,我有以下内容

代码语言:javascript
复制
$.ajax({
url:'loadtime.php',
datatype:"application/json",
type:'get',
data: "host=http://www.mywebsite.com",
success:function(data){
  document.getElementById('loadtime_com').innerHTML = data;
},
    error:function(){
  // code for error
}
});

在loadtime.php上

代码语言:javascript
复制
$host =  $_GET['host'];

$time = microtime( TRUE );
file_get_contents( $host );
$time = microtime( TRUE ) - $time;
echo $time;

当转到我的index.php时,它显示的时间小于2.00秒(这是错误的)。然后,我创建了另一个名为loadtime2.php的PHP文件,并将代码更改为

代码语言:javascript
复制
$host =  "http://www.mywebsite.com";

$time = microtime( TRUE );
file_get_contents( $host );
$time = microtime( TRUE ) - $time;
echo $time;

然后转到mywebsite.com/loadtime2.php测试这个脚本,结果显示时间超过5.00秒。我找不出是什么原因造成了这种差异,就像microtime给了我从index.php中检索loadtime.php的时间,而不是获取网站内容的时间。

EN

回答 1

Stack Overflow用户

发布于 2014-04-30 00:34:52

假设您的代码片段不是人为的示例,问题可能是这样的:

代码语言:javascript
复制
data: "host=http://www.mywebsite.com",

由于您使用的是GET,因此在将URL传递到查询字符串之前,应该对它们进行编码。PHP可能会收到一个乱码版本的URL,它会在2秒内显示404秒,而loadtime2.php文件会给出(大致)实际的加载时间。(可以通过转储URL或响应来确认这一点)

试试encodeURIComponent。

代码语言:javascript
复制
data: "host=" + encodeURIComponent(url),

备注:在PHP中,single ticks '是best for URLs。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19555098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档