php运行出现Call to undefined function curl_init()的解决方
php curl_init函数用法
在网上下载了一个模拟登陆discuz论坛的php程序范例,试运行时出现“Call to undefined function curl_init”这个错误提示,没有定义的函数,也就是php还没打开对curl_init函数的支持。Google了一番终于解决了,方法如下:
首先,在Cwindows里的php.ini中我打开了extension=php_curl.dll的功能,然后也重启了apapche,以下是我写的抓取百度中PHP的信息:
<?php
//初始化curl
$ch = curl_init() or die (curl_error());
echo "测试一下";
//设置URL参数
curl_setopt($ch,CURLOPT_URL,"http://www.baidu.com/s?wd=php");
//要求CURL返回数据
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//执行请求
$result = curl_exec($ch) or die (curl_error());
//取得返回的结果,并显示
echo $result;
echo curl_error($ch);
//关闭CURL
curl_close($ch);
?>
可为什么没反应呢?连测试的文字都没有,要是我把echo
"测试一下";放到第一行就可以输出,我估计是curl_init()函数还没有运行!
系统环境,WIN2003 IIS6,PHP版本5.2.12 在装好PHP后,执行类似$ch = curl_init();这样的语句,出现Call to undefined function curl_init()的错误提示。
你看看PHP的phpinfo()中有没有CURL扩展支持!
解决方法如下:
把php_curl.dll拷到c:windows和c:windowssystem32里面 重启apache
之后再试试看
1、在php.ini中找到extension=php_curl.dll,去掉前面的,php.ini一般在c:windows下面。
不是php_curl.dll这个文件
是把php目录中的libeay32.dll,ssleay32.dll拷到c:windowssystem32里面
重启apache
2、在php.ini中找到extension_dir =
"ext",去掉前面的;,改为extension_dir = "C:php5ext"。
"C:php5ext"只是示例,即扩展指向的路径要对
<script src="tag.php?action=relatetag&rtid=63022" type="text/javascript"></script>
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:windowssystem32里面,重启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.
本文由宝马娱乐在线城发布于互联网络,转载请注明出处:php运行出现Call to undefined function curl_init()的解决方
关键词: