首页 > 编程技术 > php

php安装curl模板方法详解

发布时间:2016-11-25 15:28

curl 是使用URL语法的传送文件工具,支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP 上传,kerberos、基于HTT格式的上传、代理、cookie、用户+口令证明、文件传送恢复、http代理通道和大量其他有用的技巧。

php安装好后默认是没有启用curl功能扩展的,下面几个步骤可以开启此项功能扩展。

windows 安装curl


1、打开PHP安装目录,搜索以下三个文件 ssleay32.dll、libeay32.dll和 php_curl.dll,一一拷贝到系统目录下的system32文件夹下,

2、修改php.ini文件,找到;extension= php_curl.dll行,去掉前面的;号,保存,重启服务器。
3、测试,在站点目录下建立一个PHP文件,内容如下

 代码如下 复制代码

$ch = curl_init(“http://www.111cn.net”);
curl_exec($ch);
curl_close($ch);

linux安装curl

假如原先编译的php目录在/usr/local/php5目录下;
apache在/usr/local/apache2目录下;
php源代码在/home/kevin125/src目录下。

如果实际目录与假定的目录不一致,则在下面的命令中做调整。

1. 找到当前运行的php版本的源代码目录,如 php-5.2.10。

进入curl扩展库目录。

 代码如下 复制代码
$cd /home/kevin125/src/php-5.2.10/ext/curl

2. 调用phpize程序生成编译配置文件。

 代码如下 复制代码
$/usr/local/php5/bin/phpize

3. 编译扩展库,分别执行下面的configure和make命令。

 代码如下 复制代码
$./configure –with-php-config=/usr/local/php5/bin/php-config

configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。
$make

make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,如 /home/kevin125/src/php-5.2.10/ext/curl/modules/curl.so

4. 配置php.ini文件
将编译好的扩展库文件复制到apache2 modules目录下。

 代码如下 复制代码
$cp /home/kevin125/src/php-5.2.10/ext/curl/modules/curl.so /usr/local/apache2/modules/

找到php.ini文件所在目录位置,然后编辑。可以通过查看phpinfo信息来确定php.ini文件位置。
在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到apache2 modules目录下

 代码如下 复制代码
extension_dir = “/usr/local/apache2/modules/”

在php.ini的设置扩展库位置,设置要添加的扩展库。

 代码如下 复制代码
extension=curl.so
Xdebug是什么?它是一款可以用来调试php代码运行一款工具,下面小编来给大家介绍Xdebug安装方法,下面教程是基于linux与windows系统的哦。

Q:xdebug是什么?

A:xdebug是一个开源的php调试器,以php模块的形式加载并被使用。

上周发现xdebug出了RC(release candidate)2版了,就拿下来安装了一下,顺便写了一个安装手册,希望对大家有用。

linux xdebug模块和相关工具的安装:

测试环境:Ubuntu12.04+PHP 5.3.10

 代码如下 复制代码

# 获取xdebug最新源码包
git clone git://github.com/derickr/xdebug.git
cd xdebug/
# 如果没有安装phpize扩展,请尝试:apt-get install phpize
phpize
./configure --enable-xdebug
make && make install

我这边生成的路径为:/usr/lib/php5/20090626+lfs/xdebug.so
然后更改php.ini文件
自行选择增加这些配置选项

 代码如下 复制代码

[xdebug]
;扩展文件路径
zend_extension = /usr/lib/php5/20090626+lfs/xdebug.so
 
;开启自动跟踪
xdebug.auto_trace = On
;开启异常跟踪
xdebug.show_exception_trace = On
;开启远程调试自动启动
xdebug.remote_autostart = On
;开启远程调试
xdebug.remote_enable = On
;收集变量
xdebug.collect_vars = On
;收集返回值
xdebug.collect_return = On
;收集参数
xdebug.collect_params = On
;跟踪格式
xdebug.trace_format = 0
;输出文件夹
xdebug.trace_output_dir=/tmp/xdebug
;输出文件名格式
xdebug.trace_output_name = trace.%c.%p
;开启分析器
xdebug.profiler_enable = On
;输出路径
xdebug.profiler_output_dir = /tmp/xdebug
;输出文件名格式
xdebug.profiler_output_name = cachegrind.out.%p
;记录内存使用情况
xdebug.show_mem_delta = On

配置完成后可使用php -i|grep xdebug查询配置好的值


windows系统xdebug模块安装


1、去www.xdebug.org下载相应版本php的模块文件,保存下载后的文件到php的ext目录,可以自己修改文件的名称,如保存成:xdebug-2.0.0RC1.dll
2、修改php.ini,增加如下信息

 代码如下 复制代码

[Xdebug]
zend_extension_ts=”c:/php5/ext/xdebug-2.0.0RC1.dll”
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.trace_output_dir=”c:/Temp/xdebug”
xdebug.profiler_enable=on
xdebug.profiler_output_dir=”c:/Temp/xdebug”

参数解释:
zend_extension_ts=”c:/php5/ext/xdebug-2.0.0RC1.dll”
;加载xdebug模块。这里不能用extension=xdebug-2.0.0RC1.dll的方式加载,必须要以zend的方式加载,否则安装上后,phpinfo打印出来的里的xdebug段的会有Must LOADED AS ZEND EXTENSION的警告信息(原因未知)。

xdebug.auto_trace=on;
;自动打开“监测函数调用过程”的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置项的默认值为off。

xdebug.collect_params=on;
;打开收集“函数参数”的功能。将函数调用的参数值列入函数过程调用的监测信息中。此配置项的默认值为off。

xdebug.collect_return=on
;打开收集“函数返回值”的功能。将函数的返回值列入函数过程调用的监测信息中。此配置项的默认值为off。

xdebug.trace_output_dir=”c:/Temp/xdebug”
;设定函数调用监测信息的输出文件的路径。

xdebug.profiler_enable=on
;打开效能监测器。

xdebug.profiler_output_dir=”c:/Temp/xdebug”;
;设定效能监测信息输出文件的路径。

还有一些更为具体的参数设定,详见:http://www.xdebug.org/docs-settings.php

3、重启apache

这样,在本地运行php的时候,会在所设定的目录里产生一些调试信息的文件:

函数调用过程监测信息文件的文件名格式:trace.××××××.xt。这个文件可以直接查看,里面包含了函数运行的时间,函数调用的参数值,返回值,所在的文件和位置等信息。内容格式还是相对直观的。
效能监测文件的文件名格式:cachegrind.out.××××××××。
这个文件也可以直接查看,不过信息格式不易被人类所理解,
所以我们需要接下来的一个软件。
二、安装wincachegrind
由于效能监测文件:cachegrind.out.××××××××文件的内容不易被人类所理解,所以我们需要一个工具来读取它。windows下就有一款这样的软件:wincachegrind。
1、到http://sourceforge.net/projects/wincachegrind/下载安装wincachegrind
2、安装运行后,点击Tools->options,设定你的working folder(php.ini里xdebug.profiler_output_dir的值)
这样就可以比较直观的查看效能监测文件的信息了。

另:不知道是哪个参数没有设定正确,我机器上所有的php的运行后的函数调用过程监测信息都写到了一个trace.××××××.xt中,哪个达人要是知道就给指条明路吧

XDebug是php的一款调试工具了,我们可使用像echo,print等等来调用错误,但我们这些函数没办法检查函数执行次数与执行时间了,而利用XDebug就完全可以实现哦,下面我来介绍在winodws中php XDebug配置与安装过程。

 我们先要去官网下载下载php_xdebug.dll,2.将下载的php_xdebug.dll放到PHP的安装目录phpext下,然后在编辑php.ini文件

 代码如下 复制代码

[xdebug]
zend_extension = "/home/ad/php/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
xdebug.auto_trace = on
xdebug.auto_profile = on
xdebug.collect_params = on
xdebug.collect_return = on
xdebug.profiler_enable = on
xdebug.trace_output_dir = "/home/ad/xdebug_log"
xdebug.profiler_output_dir = "/home/ad/xdebug_log"

4.重启Apache。
5.写一个test.php,内容为<?php phpinfo(); ?>,如果输出的内容中有看到xdebug,说明安装配置成功。或者去/home/ad/xdebug_log下看看是不是日志已经出来了。

Xdebug配置信息

PHP Xdebug配置信息

Xdebug部分配置选项说明

  xdebug.auto_trace = 1

  是否允许Xdebug跟踪函数调用,跟踪信息以文件形式存储,默认值为0

  collect_params = 1

  是否允许Xdebug跟踪函数参数,默认值为0

  xdebug.collect_return = 1

  是否允许Xdebug跟踪函数返回值,默认值为0

  xdebug.profiler_enable = 1

  打开xdebug的性能分析器,以文件形式存储,这项配置是不能以ini_set()函数配置的,默认值为0

  xdebug.profiler_output_dir

  性能分析文件的存放位置,默认值为/tmp

  xdebug.profiler_output_name

  性能分析文件的命名规则,默认值为cachegrind.out.%p

  xdebug.trace_output_dir

  函数调用跟踪信息输出文件目录,默认值为/tmp

  xdebug.trace_output_name

  函数调用跟踪信息输出文件命名规则,默认为trace.%c

设置选项

Category Setting Description

 

日志

xdebug.trace_output_dir

日志追踪输出目录
xdebug.trace_output_name 日志文件名,xdebug提供了一系列的标识符,生成相应格式的文件名,具体请参考官网
xdebug.trace_options 记录添加到文件中方式:1 = 追加(如果存在该文件). 0 (default) = 覆盖(如果存在该文件)
显示数据 xdebug.collect_params 非零值 = 控制function的参数显示选项
  • 0 = 不显示.
  • 1 = 参数类型,值  (例如:array(9)).
  • 2 = 同上1,只是在CLI模式下略微有区别
  • 3 = 所有变量内容
  • 4 = 所有变量内容和变量名(例如:array(0 => 9)).
xdebug.collect_return 1 = 显示function返回值. Default 0 不显示
xdebug.collect_vars 1 = 显示当前作用域使用了哪些变量,显示变量名,该选项不会记录变量的值,如果需要,使用xdebug.collect_params
xdebug.collect_assignments 1 = 添加一行显示变量赋值(若为1,形如$a = 1;这类Assignment Expression会在trace文件里显示)
格式 xdebug.trace_format
  • 0 = 人可读. 从左至右每列分别表示:时间点, 内存, 内存差 (需要设置xdebug.show_mem_delta=1), 等级, 函数名,函数参数 (需要设置,xdebug.collect_params=1,只要是非零), 当前代码行所在文件名 , 行号.
  • 1 = 机器可读[1]. 需要借助第三方app,例如:xdebug trace file parser 或者 xdebug trace viewer
  • 2 = html格式 即table,用browser打开,显示table
xdebug.show_mem_delta 1 = 显示每次函数调用内存消耗(内存差)
行为  xdebug.auto_trace 1 = 打开自动追踪. (追踪方式有2种,一种是自动追踪,所有php脚本运行时,都会产生trace文件;另一种是触发方式追踪,如下)
xdebug.trace_enable_trigger[2]

1 = 使用 XDEBUG_TRACE GET/POST 触发追踪, 或者通过设置cookie XDEBUG_TRACE. 为了避免每次请求时,都会生成相应trace追踪文件,你需要把auto_trace设置为0

注:该特性只在2.2+版本才能设置

 [xdebug-general] Re: Is trace_enable_trigger defunct? 

限制 xdebug.var_display_max_depth 数组和对象元素显示深度:主要用在数组嵌套,对象属性嵌套时,显示几级的元素内容. Default 3.
xdebug.var_display_max_data 变量值为字符串时显示多长. Default 512.
xdebug.var_display_max_children 数组和对象元素显示的个数. Default 128

一些自定义函数

Function Description
void xdebug_enable() 手动打开,相当于xdebug.default_enable=on
void var_dump() 覆写php提供的var_dump,出错时,显示函数堆栈信息,(前提:php.ini里html_errors为1),使用xdebug.overload_var_dump 设置是否覆写
void xdebug_start_trace( 
string trace_file_path 
[, integer options] )
手动控制需要追踪的代码段
trace_file_path :文件路径(相对或绝对,若为空).如果为空,或者不传参, 使用xdebug.trace_output_dir设置的目录
options :
  • XDEBUG_TRACE_APPEND: 1 = 追加文件内容末尾, 0 = 覆写该文件
  • XDEBUG_TRACE_COMPUTERIZED:
    • 2 =同 xdebug.trace_format=1 .
  • XDEBUG_TRACE_HTML: 4 = 输出HTML表格,浏览器打开为一table
void xdebug_stop_trace() 停止追踪,代码追踪在该行停止
string xdebug_get_tracefile_name() 获得输出文件名,与 xdebug.auto_trace配合使用.
void xdebug_var_dump([mixed var[,...]])  输出变量详细信息,相当于php里的var_dump,具体显示请看这里
xdebug.show_local_vars  默认为0,不显示;非零时,在php执行出错时,显示出错代码所在作用域所有本地变量(注:这会产生大量信息,因此默认是closed),具体显示差别如下图[3]
array xdebug_get_declared_vars() 显示当前作用域中已声明的变量
array xdebug_get_code_coverage() 显示某一段代码内,代码执行到哪些行[4]

本文章来给各位同学详细介绍关于php sockets扩展安装配置详解,希望此方法对各位同学有帮助。

今天安装cacti发现需要php sockets扩展,而现在的lnmp没有安装,于是想到了phpzie工具安装扩展,安装方法如下:

linux中打开sockets扩展

 代码如下 复制代码

1.cd php-5.3.8/ext/sockets/
2./usr/local/php/bin/phpize
3../configure --enable-sockets --with-php-config=/usr/local/php/bin/php-config
4.make
5.make install

接着在/etc/php.ini添加加载扩展代码:

 代码如下 复制代码

1.extension=sockets.so
service php-fpm reload或service httpd reload

windows下打开sockets扩展

如果你没有打开,请编辑你的php.ini文件,去掉下面这行前面的注释:
extension=php_sockets.dll
如果你无法去掉注释,那么请使用下面的代码来加载扩展库:

 代码如下 复制代码
<?php
if(!extension_loaded(‘sockets’))
{
if(strtoupper(substr(PHP_OS, 3)) == “WIN”)
{
dl(‘php_sockets.dll’);
}
else
{
dl(‘sockets.so’);
}
}
?>
本文章来给大家介绍关于php安装redis扩展初始化失败解决办法,希望些方法对各位朋友会有所帮助。

错误信息如下:
PHP Warning: PHP Startup: redis: Unable to initialize module
Module compiled with module API=20050922
PHP compiled with module API=20090626
These options need to match in Unknown on line 0
首先先说下这种错误出现的原因:
执行编译源码包执行phpize的版本与当前php环境中phpize的版本不一致造成的
解决办法:
1、删除编译过的源码包 phpredis-master 以及对应目录中的redis.so 重新解压phpredis-master
2、检测/usr/sbin 目录下是否存在php php-config php-cgi phpize 文件,如果存在删除这些文件 重新建立对应的软连接到这个目录
ln -s php /usr/local/php/bin/php
ln -s php-cgi /usr/local/php/bin/php-cgi
ln -s php-config /usr/local/php/bin/php-config
ln -s phpize /usr/local/php/bin/phpize
以上目录请以php的当前安装目录为准
3、重新进入phpredis-master目录进行安装即可

标签:[!--infotagslink--]

您可能感兴趣的文章: