Curl不适用于xampp和Php 5.6

时间:2017-03-07 10:40:36

标签: php curl xampp

curl似乎在我的本地项目中不起作用。

此示例不会显示任何内容:

    <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Exemple d'utilisation de curl</title>
</head>

<body>

<?php
// Url de la page dont vous voulez récupérer le contenu (plus précisément : le code source)
$url = 'http://fr.wikipedia.org/wiki/CURL';
// Initialise une session cURL
$ch = curl_init();

// Défini quelques options
// - Indique l'url auquel curl devra accéder
curl_setopt($ch, CURLOPT_URL, $url);
// - Retourne le contenu par la fonction curl_exec au lieu d'afficher directement le contenu récupéré
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// - Défini un user-agent à envoyer au serveur. Vous pouvez par exemple envoyer un user-agent d'un téléphone Android, d'un iPhone, ... pour tenter de récupérer le contenu d'une version mobile d'un site web
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0');
// - Exécute la session cURL fournie et stocke le contenu récupéré dans la variable $resultat (grâce à l'option CURLOPT_RETURNTRANSFER)
$resultat = curl_exec ($ch);
// - Ferme une session cURL et donc la connexion au serveur distant
curl_close($ch);

// Affiche le contenu récupérer par curl
echo $resultat;

?>


</body>
</html>

我在Windows 8上使用xampp .Php 5.6。

我尽一切努力使其成功(有些已经完成):

  • 未注释的扩展名:php.ini文件中的php_curl.dll

  • 在php.ini中取消注释extension_dir =“C:\ xampp \ php \ ext”

  • 在c:/ xampp / php中添加这些文件,并确保c:/ WINDOWS / System32:ssleay32.dll,libssh2.dll,libeay32.dll

  • php_curl.dll位于c:/ xampp / php / ext

  • 确保PATH正确完成:C:\ xampp \ php
  • 我重新启动计算机以确保所有内容都已正确初始化

我不明白为什么它仍然不起作用...有任何想法恳求吗?

1 个答案:

答案 0 :(得分:0)

你必须使用这个curl_setopt($ ch,CURLOPT_FOLLOWLOCATION,true);因为wiki页面中有一个重定向,你从http调用https协议。这是您需要设置的唯一参数,它将起作用。

代码更改

    <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Exemple d'utilisation de curl</title>
</head>

<body>

<?php
// Url de la page dont vous voulez récupérer le contenu (plus précisément : le code source)
$url = 'http://fr.wikipedia.org/wiki/CURL';
// Initialise une session cURL
$ch = curl_init();

// Défini quelques options
// - Indique l'url auquel curl devra accéder
curl_setopt($ch, CURLOPT_URL, $url);
// - Retourne le contenu par la fonction curl_exec au lieu d'afficher directement le contenu récupéré
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

// - Défini un user-agent à envoyer au serveur. Vous pouvez par exemple envoyer un user-agent d'un téléphone Android, d'un iPhone, ... pour tenter de récupérer le contenu d'une version mobile d'un site web
//curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0');
// - Exécute la session cURL fournie et stocke le contenu récupéré dans la variable $resultat (grâce à l'option CURLOPT_RETURNTRANSFER)
$resultat = curl_exec ($ch);
// - Ferme une session cURL et donc la connexion au serveur distant
curl_close($ch);

// Affiche le contenu récupérer par curl
echo $resultat;

?>


</body>
</html>