关于查看php的curl源码经过
2015-02-06 16:56
459 查看
因为编写过php的c扩展之后,就想查看一下其他扩展库的源码多事如何写的,也好学习一下,就随便挑了一个php经常用的curl去看,结果在php的ext/curl目录下没有找到curl_setopt()或者curl_setopt_array()等函数的源码,但是有这些函数的定义:
这里面的streams.c里没有,但是最后在interface.c里找到了这些函数的封装:
interface.c里自己封装的_php_curl_setopt()函数,curl_setopt()或者curl_setopt_array()等都是调用了这个函数,这个函数就是对libcurl的curl_easy_setopt()函数进行了调用,所以现在的目标就成了去寻找curl_easy_setopt()到底在哪里。
因为OS X系统应该是有libcurl的,但是我们也可以到libcurl的官网下载一份源码来查看,跟OS X系统里的libcurl除却版本不同,应该大体上是一致的,所以我下载了这个版本:curl-7.40.0 这个版本。
经过查找,果然找到了函数定义,curl_easy_setopt是在easy.c中定义的:
这里面的streams.c里没有,但是最后在interface.c里找到了这些函数的封装:
interface.c里自己封装的_php_curl_setopt()函数,curl_setopt()或者curl_setopt_array()等都是调用了这个函数,这个函数就是对libcurl的curl_easy_setopt()函数进行了调用,所以现在的目标就成了去寻找curl_easy_setopt()到底在哪里。
因为OS X系统应该是有libcurl的,但是我们也可以到libcurl的官网下载一份源码来查看,跟OS X系统里的libcurl除却版本不同,应该大体上是一致的,所以我下载了这个版本:curl-7.40.0 这个版本。
经过查找,果然找到了函数定义,curl_easy_setopt是在easy.c中定义的:
相关文章推荐
- #舍得Share#php开发笔记-使用curl查看网页源码/自动跳转/显示头信息/显示通信过程/发送表单信息/文件上传/Referer字段/User Agent
- 关于PHP 如何用 curl 读取 HTTP chunked 数据
- 关于MyEclipse查看底层源码出现sou…
- 使用curl查看网页源码/自动跳转/显示头信息/显示通信过程/发送表单信息/文件上传/Referer字段/User Agent
- 源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题
- 关于php中的curl库
- 关于在测试php文件时在浏览器上显示源码问题
- 关于window下使用git管理php源码的环境配置问题
- 关于php 中file_put_contents 和fwrite file_get_contents和curl
- 一个用来帮助查看变量的PHP脚本源码
- 关于PHP的curl开启问题
- nginx中查看关于php的配置和php-fpm的重启等操作
- 使用strace查看C语言级别的php源码
- php5.6关于curl以@方式上传文件的变化及解决七牛上传时报file is not specified in multipart的问题
- 关于php 接口问题(php接口主要也就是运用curl,curl函数)
- 关于myeclipse及eclipse中JDK、struts2、Spring、Hibernate源码查看
- 关于查看Android系统源码【Written By KillerLegend】
- 关于启用php_curl.dll后PHP Warning: PHP Startup: in Unknown on line 0之烦恼~~
- 关于在线查看相关开源源码的网站,包括Android源码
- 关于php_curl无法载入的问题的解决