在网上下载了一个模拟登陆discuz论坛的PHP程序范例,试运行时出现“Call to undefined function curl_init”这个错误提示,没有定义的函数,也就是PHP还没打开对curl_init函数的支持。Google了一番终于解决了,方法如下:
系统环境,WIN2003 IIS6,PHP版本5.2.12
在装好PHP后,执行类似$ch = curl_init();这样的语句,出现Call to undefined function curl_init()的错误提示。解决方法如下:
1、在PHP.ini中找到extension=PHP_curl.dll,去掉前面的,PHP.ini一般在c:\windows下面。
2、在PHP.ini中找到extension_dir = "ext",去掉前面的;,改为extension_dir = "C:\PHP5\ext"。 "C:\PHP5\ext"只是示例,即扩展指向的路径要对
3、PHP_curl.dll、libeay32.dll、ssleay32.dll、PHP5ts.dll都拷到system32下面去。
4、然后重启电脑,故障解决。
注意:在PHP的5.2.8版本中不知道什么原因,用这方法无法解决,换成了5.2.12才解决掉。
以windows下的PHP+apache为例。
首先,打开PHP.ini,找到“extension=PHP_curl.dll”,然后去掉前面的“;”注释,重启apache即可。如果还出现此类问题,先检查PHP.ini的extension_dir值是哪个目录,在那个目录下检查有无PHP_curl.dll,没有的话请下载PHP_curl.dll,再把PHP目录中的libeay32.dll和ssleay32.dll拷到c:\windows\system32里面,重启apache,OK!
在Ubuntu 下运行PHP,总是提示Call to undefined function curl_init(),原因没有安转:PHP5-curl
与curl相关的内容见:http://packages.ubuntu.com/zh-cn/intrepid/PHP5-curl
CURL is a library for getting files from FTP,GOPHER,HTTP server.
PHP5 is an HTML-embedded scripting language. Much of its Syntax is borrowed from C,Java and Perl with a couple of unique PHP-specific features thrown in. The goal of the language is to allow web developers to write dinamically generated pages quickly. This version of PHP5 was built with the Suhosin patch.
H1>
(PHP 4 >= 4.0.2)
curl_init -- 初始化一个CURL会话
描述
int curl_init ([string url])
curl_init()函数将初始化一个新的会话,返回一个CURL句柄供curl_setopt(),curl_exec(),和 curl_close() 函数使用。如果可选参数被提供,那么CURLOPT_URL选项将被设置成这个参数的值。你可以使用curl_setopt()函数人工设置。
例 1. 初始化一个新的CURL会话,且取回一个网页
<?php
$ch = curl_init();
curl_setopt ($ch,CURLOPT_URL,"http://www.zend.com/");
curl_setopt ($ch,CURLOPT_HEADER,0);
curl_exec ($ch);
curl_close ($ch);
?>
参见:curl_close(),curl_setopt()