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

2022-08-30 08:37:36

我在POST请求中尝试PHP Post Request,认为它可能对我有用。我的代码如下:

$sub_req_url = "http://localhost/index1.php";

$ch = curl_init($sub_req_url);
$encoded = '';

// include GET as well as POST variables; your needs may vary.
foreach($_GET as $name => $value) {
  $encoded .= urlencode($name).'='.urlencode($value).'&';
}

foreach($_POST as $name => $value) {
  $encoded .= urlencode($name).'='.urlencode($value).'&';
}

// chop off last ampersand
$encoded = substr($encoded, 0, strlen($encoded)-1);

curl_setopt($ch, CURLOPT_POSTFIELDS,  $encoded);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_exec($ch);
curl_close($ch);

从该文件中,并且是同一目录中的另一个文件,当我打开页面时,我的文件中出现以下错误:index.phpindex2.phperror.log

[Sat Dec 18 15:24:53 2010] [error] [client ::1] PHP Fatal error:  Call to undefined function curl_init() in /var/www/testing1/index.php on line 5

我想做的是有一个预订表格来发送邮寄请求。然后,我想处理 post 值,并再次将 post 请求发送到PayPal。


答案 1

您需要安装针对 php 的 CURL 支持。

在 Ubuntu 中,您可以通过以下方式安装它

sudo apt-get install php5-curl

如果您使用的是apt-get,那么您不需要编辑任何PHP配置,但您需要重新启动Apache。

sudo /etc/init.d/apache2 restart

如果您仍然遇到问题,请尝试使用phpinfo()来确保CURL被列为已安装。(如果不是,那么你可能需要打开另一个问题,询问为什么你的软件包没有安装。

PHP CURL 文档中有一个安装手册。


答案 2

对于Windows,如果有人感兴趣,请取消注释以下行(通过删除;)从 php.ini

;extension=php_curl.dll

重新启动 apache 服务器。


推荐