您的位置:首页 > 编程语言 > PHP开发

win7(X64)系统环境PHP Curl函数不能使用

2015-09-08 10:21 495 查看
Curl函数在php中一个默认未开启的组件,如果你需要使用Curl我们需要在php.ini中把extension=php_curl.dll前面的;去掉即可。

我先是把php.ini中的extension=php_curl.dll前面的;去掉了,并且重启了apache环境,但调用如下函数时提示

<?php
// 初始化一个cURL对象
$curl = curl_init();
// 设置您需要抓取的URL
curl_setopt($curl, CURLOPT_URL, 'http://www.111cn.net'');
// 设置header
curl_setopt($curl, CURLOPT_HEADER, false);//false:返回结果不带头部
// 设置cURL参数,要求结果保存到字符串中还是输出到屏幕上
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 运行cURL,请求网页
$data = curl_exec($curl);
// 关闭URL请求
curl_close($curl);
// 显示获得的数据
var_dump($data);
?>


错误提示

Call to undefined function curl_init()

看了相关文章我又把将PHP的ext目录下的三个文件:php_curl.dll、libeay32.dll和ssleay32.dll复制到系统system32目录中,但还是不行,于是再接google发现win7(x64)有一点区别了自带的php_curl.dll文件在64位windows7环境下并不能运作

具体解决步骤:

1、单击通知栏wamp图标,在php-ext里找到php_curl选项,单击选中,等待wamp重启服务完成。

2、下载修复过的php_curl.dll(php5.X/X64位系统)文件,放置到wampbinphpphp(版本号)ext文件夹下。

3、重新启动wamp服务即可。

提示

找了这么久原来是我们安装的php环境与系统版本不同,我们最好是多少位系统选择多少位的php版本哦。

下面附上网友的一个公共方法:

/**
* @author       default7<default7@zbphp.com>
 * @param        $url
* @param string $method
* @param array  $postData
*
* @return mixed|null|string
*/
function getHttpContent($url, $method = 'GET', $postData = array())
{
$data = '';

if (!empty($url)) {
try {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //30秒超时
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
if (strtoupper($method) == 'POST') {
$curlPost = is_array($postData) ? http_build_query($postData) : $postData;
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
}
$data = curl_exec($ch);
curl_close($ch);
} catch (Exception $e) {
$data = null;
}
}

return $data;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: