window wamp中配置安装xhprof步骤

 更新时间:2016年11月25日 15:28  点击:1471
本文章来给各位同学介绍在window wamp中配置安装xhprof方法与具体步骤,希望些方法对各位同学会有所帮助哦。

1.下载在这里 http://dev.freshsite.pl/php-extensions/xhprof.html 如果你下载不下来,可以给16090288@qq.com发邮件,说明版本。

我使用的是wamp 2.2d 32位的 ,这里罗嗦一句,既然用windows的wamp了,就不要装64位了,毕竟都是开发环境,正式环境肯定是32位的

这里下载两个文件 XHProf 0.10.3 for PHP 5.3 vc9.zip xhprof_html.zip

2.安装。 这步骤很简单,把XHProf 0.10.3 for PHP 5.3 vc9.zip里面的dll文件重命名为 php_xhprof.dll 放在php的ext目录下,然后在php.ini配置里面加入配置(不要忘记创建对应的文件夹)

 代码如下 复制代码

[xhprof]
extension=php_xhprof.dll
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) for storing
; XHProf runs.
xhprof.output_dir=”d:/wamp/logs/xhprof_log”

重启你的wamp即可,看看phpinfo()里面有没有对应的文件

3.使用:

xhprof_html.zip 这个文件解压到你想测试的网站根目录就好了

现在网站一般使用的是框架,唯一入口这点最好了,直接在index.php里面写就好了,我用的是yaf框架

 

 代码如下 复制代码

<?php
xhprof_enable();//开始
require 'init.php';
require 'conf/db.inc.php';
$app = new Yaf_Application(BASE_PATH . "/conf/itxiangqin.ini");
Yaf_Registry::set('config', Yaf_Application::app()->getConfig());
$app->bootstrap()->run();
$xhprof_data = xhprof_disable();//结束,然后写入文件,注意目录
$XHPROF_ROOT = realpath(dirname(__FILE__).'/xhprof');
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";

// save raw data for this profiler run using default
// implementation of iXHProfRuns.
$xhprof_runs = new XHProfRuns_Default();

// save the run under a namespace "xhprof_foo"
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
echo "<a href='http://www.pztai.com/xhprof/xhprof_html/?run=$run_id&source=xhprof_foo'>分析</a>";//

这里的pztai换成你自己的域名就好了,本地就localhost分析</a>";//这里的pztai换成你自己的域名就好了,本地就localhost
还在学习使用中,写上几个缩写的

本文章来给大家介绍关于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目录进行安装即可

在php中php curl组件默认情况下是不支持的,下面小编来给大家介绍在windows2003下配置php_curl组件的文字教程,希望此方法对大家所有帮助。

A) 支持php_curl组件

1.找到php.ini,(一般在c:/windows/php.ini),修改 extension=php_curl.dll 去掉前面的分号。
2.检查php安装目录/ext目录下面是否有php_curl.dll文件。
3.将php安装目录下面的2个dll,libeay32.dll/ssleay32.dll 复制到 windows/system32下。
4.重启php的服务。就是重启iis。

5.如果把以上步骤都做完了,还是不行,那么点击服务器: 我的电脑->属性->高级->环境变量->系统变量->Path->编辑

在变量值里面增加:
;D:/APMServ5.2.6/PHP;D:/APMServ5.2.6/PHP/ext

这里的 D:/APMServ5.2.6/PHP 应该换成你的PHP安装目录。

xdebug是一个php代码执行高度工具,它可以很好的测试我们的php代码各个阶段的性能,这样我们可以及时的进行数代码优化了,下面我来给大家从配置xdebug与xdebug调试技巧。

windows xdebug配置安装

1. 下载Xdebug

下载地址:http://xdebug.org/download.php
最新版本是2.1.2,版本很多,有32位和64位的区别,VC6和VC9的区别,以及线程安全与否的区别


把<?PHP phpinfo(); ?>保存到test.php,保存的服务器目录,通过浏览器打开。在最前面的Info中找到Compiler(没有的话是VC6的)、Architecture(没有话看Configure Command的值)和Thread Safety。如下图,应该下载32位VC9线程安全的(PHP 5.3 VC9 TS (32 bit))

2. 安装Xdebug
如果你已经配置好PHP,把下载好的文件改名为php_xdebug.dll(不改也没关系,只是为了好看),放下PHP安装目录的ext文件夹。

3. 配置Xdebug

Xdebug的配置项目很多,我只了解很少的一部分,所以只说说常用的。修改PHP安装目录的php.ini文件,在文件最后插入以下代码:
[Xdebug]

 代码如下 复制代码

zend_extension="E:APMServPHPextphp_xdebug.dll"

xdebug.auto_trace=On
;自动跟踪设置最好在最前面设置,要不然不会开启

xdebug.profiler_enable=on

xdebug.trace_output_dir="E:APMServxdebug"

xdebug.profiler_output_dir="E:APMServxdebug"

;最大递归数

xdebug.max_nesting_level=100

;重写var_dump()

xdebug.overload_var_dump = On

;当这个参数被设置为1时,即使捕捉到异常,xdebug仍将强制执行异常跟踪当一个异常出现时

xdebug.show_exception_trace=1

 

xdebug.show_local_vars = 1


xdebug.collect_params=On

xdebug.collect_return=On

xdebug.collect_vars=On

xdebug.dump_undefined=On

xdebug.profiler_enable_trigger=On

 

;允许远程连接

xdebug.remote_enable=true

;允许远程连接的zs IDE的ip地址      

xdebug.remote_host=192.168.0.51

;zendstudio 设定的端口

xdebug.remote_port=9000

;zendstudio 的应用层通信协议

xdebug.remote_handler=dbgp

xdebug.extended_info="1"


因为我不希望有Log文件(因为那个文件增长很快,不两天有一两G了),所以把trace_output_dir和profiler_output_dir注释掉了,要注意的是Xdebug不会自动建目录的,必须保证设置的目录是实际存在的。至于其它的几个,都是默认值,所以注掉了,因为可能会改,所以列出来了。现在刷新一下phpinfo()的页面,应该就能看到Xdebug的信息了。


linux xdebug配置安装


xdebug是php的一个module,需要编译安装,我用lnmp安装的php,php被默认安装到/usr/local/php,然后做一个硬链接到/usr/bin

    先编译xdebug

 代码如下 复制代码

    wget http://www.xdebug.org/files/xdebug-2.2.3.tgz
    tar xzf xdebug-2.2.3.tgz
    cd xdebug-2.2.3
    /usr/bin/phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config

    修改php.ini配置

把下面这些加入

 代码如下 复制代码

    ;no-debug-non-zts-20090626 这个文件夹名称和php版本是一一对应的

    zend_extension= "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"

    xdebug.default_enable = On
    xdebug.show_exception_trace = On
    xdebug.show_local_vars = 1
    xdebug.max_nesting_level = 50
    xdebug.var_display_max_depth = 6

    xdebug.dump_once = On
    xdebug.dump_globals = On
    xdebug.dump_undefined = On
    xdebug.dump.REQUEST = *
    xdebug.cli_color = 2

重启php-fpm,随便写段错误的php代码,刷新浏览器,就能看到错误提示

libmemcached 是一个 memcached 的库,客户端库,C 和 C++ 语言实现的客户端库,具有低内存占用率、线程安全、并提供对memcached功能的全面支持。它还采用 多种命令行工具: memcat , memflush , memrm , memstat ,并memslap (负载代)。程序库一直在设计,让不同的散列方法对密钥,分割的钥匙,并使用统一的散列分配

基于libmemcached的php memcache client有很多优势

•hash一致性存储
•multi get/set
•自动把key hash 为int,避开了memcache key字符串默认小于255Byte的限制
好久没有配置服务器,一直以为libmemcached的php memcached 已经纳入基本安装包了,到头来还需要自己编译.整个安装过程很多暗坑,尝试了几次才成功

安装分两步

•安装libmemcached,目标是so和header文件
•安装memcachedphp extensions
libmemcaced 分为两大版本0.x和1.x, 1.x的版本从2011-09-28开始,编译很麻烦,需要gcc4.0以上的专门配置,compile无比慢. 0.x版本就简单很多,最高版本是0.53,所以选择安装0.53

极品总是成对出现,php的memcahed也从2.1.0开始,要求libmemcached 必须是1.0.x版本

libmemcaced我用的0.53,那php-memcahed 就选择2.0.0. 开源软件的版本维护是一团烂帐

安装libmemcached

 代码如下 复制代码
    wget https://launchpad.net/libmemcached/1.0/0.53/+download/libmemcached-0.53.tar.gz
    tar xvfz libmemcached-0.53.tar.gz
    cd libmemcached-0.53
    ./configure --prefix=/opt/libmemcached
    make && make install


安装php扩展

 代码如下 复制代码

    wget http://pecl.php.net/get/memcached-2.0.0.tgz
    tar zvxf memcached-2.0.0.tgz
    cd memcached-2.0.0/
    ./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/opt/libmemcached/
    make && make install


make install 是 把memcached.so 安装到 ${php install dir}/extensions/no-debug-non-zts-20090626/,这个目录随着php的版本不同而不同

最后一步,修改php.ini,加上 extension=memcached.so

与面我们己安装好了来看看简单的实例

 代码如下 复制代码


#include <iostream>
 2 #include <string>
 3 #include <libmemcached/memcached.h>
 4
 5 using namespace std;
 6
 7 int main(int argc,char *argv[])
 8 {
 9     //connect server
10     memcached_st *memc;
11     memcached_return rc;
12     memcached_server_st *server;
13     time_t expiration;
14     uint32_t  flags;
15
16     memc = memcached_create(NULL);
17     server = memcached_server_list_append(NULL,"localhost",11211,&rc);
18     rc=memcached_server_push(memc,server);
19     memcached_server_list_free(server);
20
21     string key = "key";
22     string value = "value";
23     size_t value_length = value.length();
24     size_t key_length = key.length();
25
26
27     //Save data
28     rc=memcached_set(memc,key.c_str(),key.length(),value.c_str(),value.length(),expiration,flags);
29     if(rc==MEMCACHED_SUCCESS)
30     {
31         cout<<"Save data:"<<value<<" sucessful!"<<endl;
32     }
33
34     //Get data
35     char* result = memcached_get(memc,key.c_str(),key_length,&value_length,&flags,&rc);
36     if(rc == MEMCACHED_SUCCESS)
37     {
38         cout<<"Get value:"<<result<<" sucessful!"<<endl;
39     }
40
41     //Delete data
42     rc=memcached_delete(memc,key.c_str(),key_length,expiration);
43     if(rc==MEMCACHED_SUCCESS)
44     {
45         cout<<"Delete key:"<<key<<" sucessful!"<<endl;
46     }
47
48     //free
49     memcached_free(memc);
50     return 0;
51 }
52
53

编译:g++ -o testmemcached testmemcached.cpp -lmemcached
运行:./testmemcached
结果:Save data:value sucessful!
      Get value:value sucessful!
      Delete key:key sucessful!


注意事项

需要注意的是, libmemcached 不是 libmemcache ,它们是两个不同的客户端库,前者现在的开发比较活跃,后者已经有很长时间没有更新了。

memcached 是一个高性能、分布式的内存对象缓存系统,通过内存的数据缓存来降低对数据库的访问,从而提高动态内容应用网站的速度。memcached 官方开发释放出来的,只是应用的服务器端程序,它发布了服务器端的连接读写协议,客户端的实现,则根据动态内容应用网站使用的动态脚本的不同,而有多种,具体列表,可查看官方网站。

[!--infotagslink--]

相关文章

  • IntelliJ IDEA2021.1 配置大全(超详细教程)

    这篇文章主要介绍了IntelliJ IDEA2021.1 配置大全(超详细教程),需要的朋友可以参考下...2021-04-18
  • Windows VPN服务器配置图文教程 超详细版

    VPN可以虚拟出一个专用网络,让远处的计算机和你相当于处在同一个局域网中,而中间的数据也可以实现加密传输,用处很大,特别是在一些大公司,分公司处在不同的区域。...2016-01-27
  • PHP7快速编译安装的步骤

    编译安装非常的简单了我们现在的php版本已经到了php7了,下文小编来为各位介绍一篇关于PHP7快速编译安装的步骤,希望文章能够帮助到各位。 一、安装必要一些依赖 yum...2016-11-25
  • Tomcat配置及如何在Eclipse中启动

    这篇文章主要介绍了Tomcat配置及如何在Eclipse中启动,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-04
  • Laravel4安装配置的方法

    如果我们需要安培Laravel4的话最php最低要求要在php5.3.7版本并且我们需要把mcrypt与openss这两个扩展开启才可以,具体步骤我们参考下文。 前面我们介绍我了 com...2016-11-25
  • Rstudio中安装package出现的问题及解决

    这篇文章主要介绍了Rstudio中安装package出现的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • PHP编译安装后PHP-FPM使用笔记

    PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
  • 详解Maven profile配置管理及激活profile的几种方式

    这篇文章主要介绍了详解Maven profile配置管理及激活profile的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-26
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • vscode安装git及项目开发过程

    这篇文章主要介绍了vscode安装git及项目开发过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-19
  • IDEA如何添加配置文件到classpath中

    这篇文章主要介绍了IDEA如何添加配置文件到classpath中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-19
  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31
  • 部署PHP时的4个配置修改说明

    以下就是部署PHP时的4个配置修改说明,大家一个一个进行学习研究。1、short_open_tag 是什么呢? 决定是否允许使用代码开始标志的缩写形式(<&#63; &#63;> )。如果要和 XML 结合使用PHP,可以禁用此选项以便于嵌入使用<&#63;x...2015-10-21
  • Visual Studio 2015下载和安装图文教程

    这篇文章主要为大家详细介绍了Visual Studio 2015下载和安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • Node调试工具JSHint的安装及配置教程

    现在我们介绍一种在Node下检查简单错误的JS代码验证工具JSHint。  JSHint的具体介绍参考http://www.jshint.com/about/,说直白点儿,JSHint就是一个检查JS代码规范与否的工具,它可以用来检查任何(包括server端和client端...2014-05-31
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • Vue-Router的routes配置详解

    在使用vue-router的项目中,实例化VueRouter是其配置选项routes该选项指定路由与视图的组件的关系或者路由与其他路由的关系,Router配置选项中是其中最重要的配置。本文就详细的介绍一下...2021-10-25
  • 在PyCharm中安装PaddlePaddle的方法

    这篇文章主要介绍了在PyCharm中安装PaddlePaddle的方法,本文给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-05
  • 华为畅享20Pro配置怎么样?华为畅享20Pro参数配置分析

    华为畅享20Pro配置怎么样?对于即将上市的华为畅享20 Pro手机,很多的网友们也是相当关注的,大家都想要知道这款华为畅享20 Pro手机的配置到底怎么样,赶紧看看吧...2020-06-29