好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php监控curl php监控网

很多站长朋友们都不太清楚php监控curl,今天小编就来给大家整理php监控curl,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php curl的几种用法 2、 PHP语言中php curl的几种应用方式 3、 解析php中curl 4、 PHP如何开启curl 5、 php中设置Curl的问题 PHP版本 5。3。3 php curl的几种用法

总结一下项目中用到curl的几种方式

1. php curl的默认调用方法,get方式访问url

$ch = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //设置http头

curl_setopt($ch, CURLOPT_ENCODING, gzip ); //设置为客户端支持gzip压缩

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30 ); //设置连接等待时间

curl_setopt($ch, CURLOPT_URL, $url );

curl_exec( $ch );

if ($error = curl_error($ch) ) {//出错处理return -1;}fclose($fp);

$curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //获取http返回值

if( $curl_code == 200 ) {

//正常访问url}//异常

2. 设置http header支持curl访问lighttpd服务器Java代码$header[]= 'Expect:';

$header[]= 'Expect:';

3. 设置curl,只获取http header,不获取body:Java代码curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch, CURLOPT_NOBODY, 1);

curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch, CURLOPT_NOBODY, 1);

或者只获取body:Java代码curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the body

curl_setopt($ch, CURLOPT_NOBODY, 0);

curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the body

curl_setopt($ch, CURLOPT_NOBODY, 0);

4. 访问虚拟主机,需设置Host

$header[]= 'Host: '.$host;

5. 使用post, put, delete等REStful方式访问urlpost:curl_setopt($ch, CURLOPT_POST, 1 );

put, delete:

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, DELETE); //或者PUT,需要服务器支持这些方法。

6. 保存下载内容为文件

PHP语言中php curl的几种应用方式

今天我们向大家介绍的是在PHP中的php curl的几种使用方式,希望对有需要的朋友有所帮助。

2. 设置http header支持php curl访问lighttpd服务器

3. 设置curl,只获取http header,不获取body:

或者只获取body:

4. 访问虚拟主机,需设置Host

5. 使用post, put, delete等REStful方式访问url

6. php curl保存下载内容为文件

解析php中curl

php的multi_curl功能慎用 因为某些版本的curl和php的搭配有Bug 所以你调试过没问题的代码很可能在别的机器上不正确  

相信许多人对php手册中语焉不详的curl_multi一族的函数头疼不已 它们文档少 给的例子 更是简单的让你无从借鉴 我也曾经找了许多网页 都没见一个完整的应用例子 •curl_multi_add_handle •curl_multi_close •curl_multi_exec •curl_multi_getcontent •curl_multi_info_read •curl_multi_init •curl_multi_remove_handle •curl_multi_select 一般来说 想到要用这些函数时 目的显然应该是要同时请求多个url 而不是一个一个依次请求 否则不如自己循环去调curl_exec好了

步骤总结如下 第一步 调用curl_multi_init 第二步 循环调用curl_multi_add_handle 这一步需要注意的是 curl_multi_add_handle的第二个参数是由curl_init而来的子handle 第三步 持续调用curl_multi_exec 第四步 根据需要循环调用curl_multi_getcontent获取结果 第五步 调用curl_multi_remove_handle 并为每个字handle调用curl_close 第六步 调用curl_multi_close 这里有一个网上找的简单例子 其作者称为dirty的例子 (稍后我会说明为何dirty)

复制代码 代码如下: * Here s a quick and dirty example for curl multi from PHP tested on PHP RC CLI / FreeBSD */

$connomains = array( " " " );

$mh = curl_multi_init();

foreach ($connomains as $i => $url) {      $conn[$i]=curl_init($url);       curl_setopt($conn[$i] CURLOPT_RETURNTRANSFER );       curl_multi_add_handle ($mh $conn[$i]); }

do { $n=curl_multi_exec($mh $active); } while ($active);

foreach ($connomains as $i => $url) {       $res[$i]=curl_multi_getcontent($conn[$i]);       curl_close($conn[$i]); }

print_r($res);

整个使用过程差不多就是这样 但是 这个简单代码有个致命弱点 就是在do循环的那段 在整个url请求期间是个死循环 它会轻易导致CPU占用 % 现在我们来改进它 这里要用到一个几乎没有任何文档的函数curl_multi_select了 虽然C的curl库对select有说明 但是 php里的接口和用法确与C中有不同 把上面do的那段改成下面这样

复制代码 代码如下: do {                         $mrc = curl_multi_exec($mh $active);                 } while ($mrc == CURLM_CALL_MULTI_PERFORM);                 while ($active and $mrc == CURLM_OK) {                         if (curl_multi_select($mh) != ) {                                 do {                                         $mrc = curl_multi_exec($mh $active);                                 } while ($mrc == CURLM_CALL_MULTI_PERFORM);                         }                 }

因 为$active要等全部url数据接受完毕才变成false 所以这里用到了curl_multi_exec的返回值判断是否还有数据 当有数据的时候 就不停调用curl_multi_exec 暂时没有数据就进入select阶段 新数据一来就可以被唤醒继续执行 这里的好处就是CPU的无谓消耗没有 了

另外 还有一些细节的地方可能有时候要遇到 控制每一个请求的超时时间 在curl_multi_add_handle之前通过curl_setopt去做 curl_setopt($ch CURLOPT_TIMEOUT $timeout);

判断是否超时了或者其他错误 在curl_multi_getcontent之前用 curl_error($conn[$i]);

lishixinzhi/Article/program/PHP/201311/21124

PHP如何开启curl

开启php curl函数库的步骤

1).去掉windows/php.ini 文件里;extension=php_curl.dll前面的; /*用 echo phpinfo();查看php.ini的路径*/

2).把php5/libeay32.dll,ssleay32.dll复制到系统目录windows/下

3).重启apache

配置php支持curl

curl是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, kerberos认证, HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传, 上载文件断点续传, http代理服务器管道( proxy tunneling), 甚至它还支持IPv6, socks5代理服务器, 通过http代理服务器上传文件到FTP服务器等等,功能十分强大。Windows操作系统下的网络蚂蚁,网际快车(FlashGet)的功能它都可以做到。准确的说,curl支持文件的上传和下载,所以是一个综合传输工具,但是按照传统,用户习惯称curl为下载工具。

配置方法:

1、拷贝PHP目录中的libeay32.dll 和 ssleay32.dll 两个文件到 system32 目录。

2、修改php.ini:配置好 extension_dir ,去掉 extension = php_curl.dll 前面的分号。

---------------------------

php下扩展php_curl.dll的安装

---------------------------

已经内置有php_curl.dll,在ext目录下,此DLL用于支持SSL和zlib.

在php.ini中找到有extension=php_curl.dll, 去掉前面的注释.

设置extension_dir=c:phpext, 刷新PHP页面时报错, 说找不到模块php_curl.dll.

拷贝php_curl.dll 到windowssystem32,还是同样的错.

在网上找了一下,需要将:

libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll

都拷贝到system32目录下,重启IIS即可.

php中设置Curl的问题 PHP版本 5。3。3

1.写一个phpinfo查看文件 <?php phpinfo();?>

2.然后在phpinfo里面搜索 php.ini 找到php.ini的位置,确认你修改的php.ini和实际运行的php.ini是一个文件。

3.检测php.ini中的ext目录是否为你放php_curl.dll的目录

4.检测php的ext目录是否在系统环境变量中

关于php监控curl的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php监控curl php监控网的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did209616
更新时间:2023-05-03   阅读:13次

上一篇: php扩展shmop php扩展库

下一篇:php包含什么代码 php代码有哪些

相关资讯

最新资料更新

  • 1.php接收tcp数据 php tcp udp
  • 2.php订单管理功能 php订单提醒功能
  • 3.php绘制健康码 php源码怎么搭建网站
  • 4.PHP外部引用样式 php引用外部文件
  • 5.php如何生成动态页面 php动态网页制作教程
  • 6.php视频教程知乎 php视频项目视频教程
  • 7.php构造方法重写 php 构造方法
  • 8.php配置外网访问 phpstudy外网映射
  • 9.php截取汉子 php 截断
  • 10.phpstorm写前端 phpstorm写html
  • 11.修改php网页链接 怎么修改php网页
  • 12.php文件工具类 php文件处理
  • 13.php实现小说目录的方法 php自动生成小说
  • 14.php版本怎么更新 php版本升级
  • 15.链式作用域php php 链式调用
  • 16.php判断08数字 php 判断数字
  • 17.天津php公司的 天津程序员公司
  • 18.输出图片php 输出图片英文
  • 19.php下载csv乱码 php下载文件名乱码
  • 20.php重命名不了 php 命名空间 通俗易懂

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]