在这里我解释有关我的问题的详细信息首先检查下面的代码
$ch = curl_init('http://example123.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
现在我的问题是,如果"http://example123.com"无效或没有这样的 URL,那么问题是什么。
我有一个页面写了上面。 执行代码时,页面花费太多时间。 但是如果我在 5 行以上发表评论,那么我的页面执行速度会更快。
任何人都可以告诉我背后的原因是什么以及为什么页面执行得很慢。
谢谢桑吉布
脚本等待响应(default_socket_timeout可能需要 60 秒。
您应该设置curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
以使脚本从 http://example123.com/重定向到 http://ww38.example123.com/,就像它在浏览器中一样。
> 当cUrl
请求遇到INVALID URI
时,它会等到达到默认连接超时,这会降低页面加载速度。
默认连接超时设置为 lib/connect.h
(如果是 Linux 服务器)
您可以在此处更改它
#define DEFAULT_CONNECT_TIMEOUT 300000 /* milliseconds == five minutes */
或者你可以在代码中明确设置它
curl_setopt( $c, CURLOPT_CONNECTIONTIMEOUT, 100 ); # Or curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS ,0);
curl_setopt($ch, CURLOPT_TIMEOUT, 400); # timeout in seconds
CURLOPT_CONNECTTIMEOUT
:尝试连接时等待的秒数。使用 0 无限期等待。
CURLOPT_TIMEOUT
:允许 cURL 函数执行的最大秒数。
(如果您使用 PHP 作为 fastCGI 应用程序,请确保检查 fastCGI 超时设置。*