Estoy importando los contactos de Gmail a mi página .....curl_init undefined?
El proceso no funciona debido a este error
'curl_init'
no está definido
La sugerencia que tengo es
- uncomment curl.dll destino
- copia las siguientes bibliotecas para el directorio windows/system32:
ssleay32.dll
ylibeay32.dll
- copia php_curl.dll a windows/system32
Después de probar todos estos, que recrearon mi xampp, pero incluso entonces se produce un error.
Esta es mi página en la que estoy tratando de importar los contactos de Gmail:
<?php
resource curl_init ([ string $url = NULL ])
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
?>
<?php
echo "hi";
if($_POST['submit'] != '') {
echo "hi";
$clientlogin_url = "https://www.google.com/accounts/ClientLogin";
$clientlogin_post = array(
"accountType" => "HOSTED_OR_GOOGLE",
"Email" => $_POST['Email'],
echo "Passwd" => $_POST['Passwd'],
"service" => "cp",
"source" => "tutsmore/1.2"
);
$curl = curl_init($clientlogin_url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $clientlogin_post);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
preg_match("/Auth=([a-z0-9_\-]+)/i", $response, $matches);
$auth = $matches[1];
$headers = array("Authorization: GoogleLogin auth=" . $auth);
$curl = curl_init('http://www.google.com/m8/feeds/contacts/default/full?max-results=10000');
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$feed = curl_exec($curl);
echo "contacts".$contacts=array();
$doc=new DOMDocument();
if (!empty($feed)) $doc->loadHTML($feed);
$xpath=new DOMXPath($doc);
$query="//entry";
$data=$xpath->query($query);
foreach ($data as $node) {
$entry_nodes=$node->childNodes;
$tempArray=array();
foreach($entry_nodes as $child) {
$domNodesName=$child->nodeName;
switch($domNodesName) {
case 'title' : {
$tempArray['fullName']=$child->nodeValue;
} break
;
case 'email' : {
if (strpos($child->getAttribute('rel'),'home')!==false)
$tempArray['email_1']=$child->getAttribute('address');
elseif(strpos($child->getAttribute('rel'),'work')!=false)
$tempArray['email_2']=$child->getAttribute('address');
elseif(strpos($child->getAttribute('rel'),'other')!==false)
$tempArray['email_3']=$child->getAttribute('address');
} break
;
}
}
if (!empty($tempArray['email_1']))$contacts[$tempArray['email_1']]=$tempArray;
if(!empty($tempArray['email_2'])) $contacts[$tempArray['email_2']]=$tempArray;
if(!empty($tempArray['email_3'])) $contacts[$tempArray['email_3']]=$tempArray;
}
foreach($contacts as $key=>$val) {
echo $key."<br/>";
}
}
else {
?>
<form action="<?=$PHP_SELF?>" method="POST">
<table>
<tr>
<td>Email:</td><td><input type="text" name="Email" /></td>
</tr>
<tr>
<td>Password:</td><td><input type="password" name="Passwd" /></td>
</tr>
<tr><td colspan="2" align="center">tutsmore don't save your email and password trust us.</td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="submit" value="Get Contacts" /></td></tr>
</table>
</form>
<?php
}
?>
Este código está completamente provisto para la depuración; si se necesita alguna optimización, intentaré optimizar el código.
Parece que está usando Windows, no Linux. –
para completar esto tuve que 'php5enmod curl' y' service apache2 restart' en debian – steven