cURL 发布请求脚本给出“未定义的函数 curl_init”

Posted

技术标签:

【中文标题】cURL 发布请求脚本给出“未定义的函数 curl_init”【英文标题】:cURL post request script giving "undefined function curl_init" 【发布时间】:2013-12-07 15:21:33 【问题描述】:

致命错误:在第 9 行调用 C:\xampp\htdocs\lol.php 中未定义的函数 curl_init()

基本上这是行不通的,我不知道 POST 请求中的所有字段都是正确的(作为对 URL 进行操作的 html 发布表单完美地工作)。

脚本:

<?php
$url = 'myurl';
$postData = array();
$postData['name'] = 'jay'
$postData['age'] = '0';
$postData['gender'] ='female';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
$result = curl_exec($ch);
curl_close($ch);
?>

【问题讨论】:

$result = curl_exec($ch); 之后添加echo curl_error($ch); -- 有输出吗? 没有任何反应,即使我在它后面加上了一个回声。它没有做我想做的事,因为我的数据库中没有弹出任何内容(应该出现在我的数据库中,但不要担心那部分) 首先要确定请求是否已发送。如果是,收到了吗?如果是,则错误很可能在“myurl”的脚本中......是的,我们应该担心这部分,因为您没有提供任何关于不完全工作的信息 【参考方案1】:

您的代码在$postData['name'] = 'jay' 中显示语法错误

 $postData = array();
 $postData['name'] = 'jay';
 $postData['age'] = '0';
 $postData['gender'] ='female';

确保您是否启用了 curl。只需将其放在您的 php 文件中,然后在您的实例中找到启用的 curl 扩展。

 <?php phpinfo();?>

在 windows xampp 中启用 curl:How to enable curl in xampp?

【讨论】:

不敢相信我没有看到这个。只是展示了带有内置解析器的 IDE 的重要性。 @user3000453:是的,这非常具有描述性。 @user3000453:将ini_set('display_errors',1); error_reporting(E_ALL); 添加到脚本的最顶部。看看这是否改变了什么? 你的 curl 调用 url 是什么? $url = 'myurl'; 致命错误:在第 9 行调用 C:\xampp\htdocs\lol.php 中未定义的函数 curl_init()

以上是关于cURL 发布请求脚本给出“未定义的函数 curl_init”的主要内容,如果未能解决你的问题,请参考以下文章

调用未定义的函数 curl_init() - 使用 WAMP

PHP 致命错误:调用未定义的函数 curl_init()

在 wamp 2.2 中调用未定义函数 curl_init() 错误

在 wamp 2.2 中调用未定义函数 curl_init() 错误

调用未定义的函数 curl_init() 即使它在 php7 中启用

php curl 适用于 cli 但不适用于 apache