2013-01-22 119 views
-1

我已经看到很多关于这个问题的话题,但没有什么是真正有用的,所以原谅我开始关于这个问题的另一个话题。PHP cURL很慢

我的网站运行约20个循环以建立起来。我喜欢cURL,因为您可以隐藏内容,但抓取工具可以看到它。我有使用包括一个问题,所以我不得不使用cURL作为替代。每次cURL都通过带有参数的URL加载。所有网址都链接到本地 php文件。

平均而言,该网站需要四秒钟才能加载。

有没有办法加快速度?

+10

使用cURL作为替代包括???怎么样?为什么? – Tchoupi

+0

你可以尝试http://stackoverflow.com/questions/2620272/how-can-i-speed-up-curl-tasks – user1929959

+0

“我有一个问题,使用包括”......这个问题是什么? – ceejayoz

回答

1

使用cURL会遇到一些问题,而不是使用标准的PHP包含。这是一个总结。

排队 - 在您的代码中执行20个请求,每个请求都会延迟创建页面。该请求在等待和加载方面带有自己的开销。

数据库 - 而不是打开与数据库的连接,获取所有数据并关闭连接,您需要打开连接20次(取决于页面是否需要数据库访问)。创建和释放连接会花费你的时间。

我会打赌,无论你用cURL做什么,你都可以用include来做。当你在PHP中包含一个文件时,它可以访问当前在范围内的所有变量 - 所以你不需要将它们传递给查询字符串,你可以从第二个文件中使用它们...

使用example.php

$example = 'This is an example'; 
include_once('other.php'); 

other.php

echo $example; // writes: This is an example 
+0

关于数据库的好处。事实上,它正在打开数据库很多次。 关于我的包含问题。请记住我也发送参数($ _GET ['X'] = 1;例如在包含之前)。我也尝试了ob_get_contents函数。 我有一些奇怪的错误,脚本跳过while循环中的某些包含。也许它不喜欢许多$ _GET的变化,但这对我来说是个谜。 cURL正在得到所有的东西,但速度很慢。 感谢迄今。 – Lahey

+0

如果您想使用参数,请使用类和函数 – Populus