当前位置:首页 > 编程教程 > php技术文章 > PHP 5.6.11中CURL模块问题的解决方法

解决PHP 5.6.11中CURL模块问题的实例方法

  • 发布时间:
  • 作者:码农之家
  • 点击:123

这篇文章主要知识点是关于PHP、CURL模块、浅谈PHP中的数据传输CURL 的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

PHP开发实例大全:基础卷
  • 类型:PHP开发大小:232 MB格式:PDF作者:软件开发技术联盟
立即下载

PHP 5.6.11中CURL模块问题的解决方法

按照网上的教程写了一个cURL的小例子,在apache环境下执行,一点反应也没有,放在IIS环境里就ok的,感觉问题一定出在动态连接库上,因为配置文件里的php_curl.dll已经打开了,而且在iis上ok;

网上找了一些解决方案:

设置了【环境变量】:phpext,PHPRC;无效

把php_curl.dll 放到apache/bin下;无效

检查了一下apache/bin目录下也有这两个libeay32.dll,ssleay32.dll个文件;没问题

最后试了一下,把当前php根目录下的libssh2.dll 放在apache/bin目录下,重启了一下apache,OK,终于看到了phpinfo里的curl模块的信息了,程序自然也可以运行了

PHP 5.6.11中CURL模块问题的解决方法

以上所述是小编给大家介绍的PHP 5.6.11中CURL模块问题的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持!

浅谈PHP中的数据传输CURL

确认是否安装了CURL扩展

Linux下命令:

[root@fengniu020 ~]# php -i | grep -i curl
Additional .ini files parsed => /etc/php.d/curl.ini,
curl
cURL support => enabled
cURL Information => 7.19.7

curl操作步骤解析:

浅谈PHP中的数据传输CURL

CURL实例

1.一个简单的curl,抓取百度首页

2.下载一个网页并把内容中的“百度”替换为“摆渡”之后输出

3.调用WebService

一个简单的curl,抓取百度首页

<?php
$curl=curl_init('//www.jb51.net');
curl_exec($curl);
curl_close($curl);
?>

下载一个网页并把内容中的“百度”替换为“摆渡”之后输出

<?php
/**
 * 实例描述:在网络上下载一个网页并把内容中的“百度”替换为“摆渡”之后输出
 */
$curlobj = curl_init();      // 初始化
curl_setopt($curlobj, CURLOPT_URL, "http://www.baidu.com");    // 设置访问网页的URL
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true);      // 执行之后不直接打印出来
$output=curl_exec($curlobj); // 执行
curl_close($curlobj);     // 关闭cURL
echo str_replace("百度","摆渡",$output);
?>

调用WebService

<?php
/**
 * 实例描述:通过调用WebService查询北京的当前天气
 * 下方接口,免费用户24小时内访问是有限制的,需要存储信息
 */
$data = 'theCityName=北京';
//$data = 'theCityName=北京&';//多个用&号连接
$curlobj = curl_init();  
curl_setopt($curlobj, CURLOPT_URL, "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName"); 
curl_setopt($curlobj, CURLOPT_HEADER, 0); 
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curlobj, CURLOPT_POST, 1); //POST方式
curl_setopt($curlobj, CURLOPT_POSTFIELDS, $data); 
curl_setopt($curlobj, CURLOPT_HTTPHEADER, array("application/x-www-form-urlencoded; charset=utf-8", 
  "Content-length: ".strlen($data)
  )); //HTTP请求头
curl_setopt ($curlobj, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
$rtn = curl_exec($curlobj);  
if(!curl_errno($curlobj)){
  // $info = curl_getinfo($curlobj); 
  // print_r($info);
  echo $rtn; 
} else {
 echo 'Curl error: ' . curl_error($curlobj);
}
curl_close($curlobj);
?>

从FTP服务器下载一个文件到本地

<?php
/**
 * 代码实例-PHP-cURL实战
 * 实例描述:从FTP服务器下载一个文件到本地
 */
$curlobj = curl_init();  
curl_setopt($curlobj, CURLOPT_URL, "ftp://192.168.1.100/downloaddemo.txt"); 
curl_setopt($curlobj, CURLOPT_HEADER, 0); 
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curlobj, CURLOPT_TIMEOUT, 300); // times out after 300s
curl_setopt($curlobj, CURLOPT_USERPWD, "peter.zhou:123456");//FTP用户名:密码
// Sets up the output file
$outfile = fopen('dest.txt', 'wb');//保存到本地的文件名
curl_setopt($curlobj, CURLOPT_FILE, $outfile);

$rtn = curl_exec($curlobj); 
fclose($outfile); 
if(!curl_errno($curlobj)){
  // $info = curl_getinfo($curlobj); 
  // print_r($info);
  echo "RETURN: " . $rtn; 
} else {
 echo 'Curl error: ' . curl_error($curlobj);
}
curl_close($curlobj);
?>

把本地文件上传到FTP服务器上

<?php
/**
 * 代码实例-PHP-cURL实战
 * 实例描述:把本地文件上传到FTP服务器上
 */
$curlobj = curl_init();  
$localfile = 'ftp01.php';//需要上传的文件
$fp = fopen($localfile, 'r');

curl_setopt($curlobj, CURLOPT_URL, "ftp://192.168.1.100/ftp01_uploaded.php");//上传后保存的文件名
curl_setopt($curlobj, CURLOPT_HEADER, 0); 
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curlobj, CURLOPT_TIMEOUT, 300); // times out after 300s
curl_setopt($curlobj, CURLOPT_USERPWD, "peter.zhou:123456");//FTP用户名:密码

curl_setopt($curlobj, CURLOPT_UPLOAD, 1);
curl_setopt($curlobj, CURLOPT_INFILE, $fp);//传输打开的文件
curl_setopt($curlobj, CURLOPT_INFILESIZE, filesize($localfile));//上传的文件大小
$rtn = curl_exec($curlobj); 
fclose($fp); 
if(!curl_errno($curlobj)){
  echo "Uploaded successfully."; 
} else {
 echo 'Curl error: ' . curl_error($curlobj);
}
curl_close($curlobj);
?>

下载网络上面的一个HTTPS的资源

<?php
/**
 * 代码实例-PHP-cURL实战
 * 实例描述:下载网络上面的一个HTTPS的资源
 */
$curlobj = curl_init();      // 初始化
curl_setopt($curlobj, CURLOPT_URL, "https://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.js");    // 设置访问网页的URL
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true);      // 执行之后不直接打印出来

// 设置HTTPS支持
date_default_timezone_set('PRC'); // 使用Cookie时,必须先设置时区
curl_setopt($curlobj, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查从证书中检查SSL加密算法是否存在,设置为0就是终止从服务器端进行验证
curl_setopt($curlobj, CURLOPT_SSL_VERIFYHOST, 2); // 

$output=curl_exec($curlobj); // 执行
curl_close($curlobj);     // 关闭cURL
echo $output;
?>

以上这篇浅谈PHP中的数据传输CURL就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

您可能感兴趣的文章:

  • php中curl实现的股票信息查询的实例详解
  • windows 2008r2+php5.6.28环境搭建详细步骤
  • PHP中CURL模块问题 相关电子书
    学习笔记
    网友NO.958523

    php中curl和soap方式请求服务超时问题的解决

    公司中有不少服务是以curl或者soap方式连接第三方公司做的服务来交互数据,最近新增加了个需求,就是第三方服务发版时候,连接不上对方服务器时候要进行重试,其它原因导致的业务处理失败,则按失败处理,不会再进行调用。 思路就是判断curl或者soap连接不上对方服务器时候,抛出TimeoutException异常,捕获后做重试处理,其它错误导致的抛出的Exception则按失败处理。 curl处理 $ch = curl_init($url); $options = array( CURLOPT_RETURNTRANSFER = true, CURLOPT_CONNECTTIMEOUT = 5, //5秒连接时间 CURLOPT_TIMEOUT = 30, //30秒请求等待时间 ); curl_setopt_array($ch, $options); $response = curl_exec($ch); if ($no = curl_errno($ch)) { $error = curl_error($ch); curl_close($ch); //$no错误码7为连接不上,28为连接上了但请求返回结果超时 if(in_array(intval($no), [7, 28], true)) { throw new TimeoutException('连接或请求超时' . $error, $no); } } ……

    网友NO.377013

    浅谈PHP中的数据传输CURL

    确认是否安装了CURL扩展 Linux下命令: [root@fengniu020 ~]# php -i | grep -i curlAdditional .ini files parsed = /etc/php.d/curl.ini,curlcURL support = enabledcURL Information = 7.19.7 curl操作步骤解析: CURL实例 1.一个简单的curl,抓取百度首页 2.下载一个网页并把内容中的“百度”替换为“摆渡”之后输出 3.调用WebService 一个简单的curl,抓取百度首页 ?php$curl=curl_init('//www.jb51.net');curl_exec($curl);curl_close($curl);? 下载一个网页并把内容中的“百度”替换为“摆渡”之后输出 ?php/** * 实例描述:在网络上下载一个网页并把内容中的“百度”替换为“摆渡”之后输出 */$curlobj = curl_init(); // 初始化curl_setopt($curlobj, CURLOPT_URL, "http://www.baidu.com"); // 设置访问网页的URLcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true); // 执行之后不直接打印出来$output=curl_exec($curlobj); // 执行curl_close($curlobj); // 关闭cURLecho str_replace("百……

    网友NO.663955

    php5.2的curl-bug 服务器被php进程卡死问题排查

    前几天东政同学反馈说Linode服务器快卡死了,今天有时间排查了一下具体原因,最终原因稍微有点悲壮:file_get_contents没有设置超时时间,加上我用的php5.2关于curl的代码有个bug,于是导致PHP进程进入死循环。 今天下午又发现系统负载很高,于是上去看了一下,发现一大坨PHP进程没有退出,占用了很多CPU,如图: 问题进程: 后面运行的脚本是我的RSS定时更新任务,看来PHP代码什么地方有问题,于是strace -p 14043看了一下: select(5, [4], [4], [], {15, 0}) = 1 (out [4], left {14, 999996})poll([{fd=4, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)clock_gettime(CLOCK_MONOTONIC, {4582888, 760370017}) = 0clock_gettime(CLOCK_MONOTONIC, {4582888, 760468615}) = 0clock_gettime(CLOCK_MONOTONIC, {4582888, 760565053}) = 0select(5, [4], [4], [], {15, 0}) = 1 (out [4], left {14, 999997}) 在4号fd上面死循环了,于是看看FD是什么:ll /proc/14043/fd lrwx——……

    网友NO.731366

    PHP的curl函数的用法总结

    要使用cURL来发送url请求,具体步骤大体分为以下四步: 初始化 设置请求选项 执行一个cURL会话并且获取相关回复 释放cURL句柄,关闭一个cURL会话 curl基础例子: ?php// 创建一个新cURL资源$ch = curl_init(); // 设置URL和相应的选项curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");curl_setopt($ch, CURLOPT_HEADER, false); // 抓取URL并把它传递给浏览器curl_exec($ch); //关闭cURL资源,并且释放系统资源curl_close($ch);? curl函数: •curl_close — 关闭一个cURL会话 •curl_copy_handle — 复制一个cURL句柄和它的所有选项 •curl_errno — 返回最后一次的错误号 •curl_error — 返回一个保护当前会话最近一次错误的字符串 •curl_escape — 使用 URL 编码给定的字符串 •curl_exec — 执行一个cURL会话 •curl_file_create — 创建一个 CURLFile 对象 •curl_getinfo — 获取一个cURL连接资源句柄的信息 •curl_init — 初始化一个cU……

    网友NO.955752

    php curl获取到json对象并转成数组array的方法

    例子: function objtoarr($obj){$ret = array();foreach($obj as $key =$value){if(gettype($value) == 'array' || gettype($value) == 'object'){$ret[$key] = objtoarr($value);}else{$ret[$key] = $value;}}return $ret;}$ch = curl_init();curl_setopt($ch, CURLOPT_URL,'http://www.tudou.com/albumcover/albumdata/getAlbumItems.html?acode=pEFBZGfERLocurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_ENCODING, "gzip");$output = curl_exec($ch);curl_close($ch);$content = json_decode($output);$content_arr = objtoarr($content);var_dump($content_arr); 以上这篇php curl获取到json对象并转成数组array的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

    <
    1
    >

    Copyright 2018-2020 www.xz577.com 码农之家

    版权投诉 / 书籍推广 / 赞助:520161757@qq.com