linux下为php安装xdebug调试

by admin on 2020年1月18日
  • git clone git://github.com/derickr/xdebug.git
  • cd xdebug/
  • /usr/local/php/bin/phpize
  • ./configure –enable-xdebug
    –with-php-config=/usr/local/php/bin/php-config
  • make
  • sudo make install
  • sudo mv
    /usr/local/php/lib/php/extensions/no-debug-non-zts-*/xdebug.so
    /usr/local/php/lib/php/extensions/
  • sudo rm -rf /usr/local/php/lib/php/extensions/no-debug-non-zts-*
  • sudo mkdir /usr/local/php/xdebug/
  • sudo vim /usr/local/php/etc/php.ini
    在下边增添:
    [Xdebug]
    zend_extension
    =”/usr/local/php/lib/php/extensions/xdebug.so”
    xdebug.profiler_enable=on

历史学中有一条知名的80-20定律,援引到编程中,正是:五分四的习性瓶颈是由百分之三十三的代码引起的。

版权申明:本文为博主原创文章,未经博主允许不得转发。

xdebug.trace_output_dir="/usr/local/php/xdebug/"   

xdebug.profiler_output_dir="/usr/local/php/xdebug/"   
 xdebug.remote_enable=on

 xdebug.remote_handler=dbgp


;xdebug.remote_host=localhost   

xdebug.remote_port=9000

Ubuntu下依附PHP的XDebug扩充,能够使得地搜索那五分三的代码。

PHP安装、配置及进行计算:

  • 翻开phpinfo(State of Qatar,假若搜到xdebug字样表示安装成功

生机勃勃、安装配备

本篇小说主要总括的是PHP的设置、配置、拓宽库的拉长及注明,达成平台为Unix/Linux/Mac
OS
X,这里也席卷未来的能力小说,只将PHP语言作为服务器端脚本和命令式脚本的应用进行计算,此中不涉及对桌面应用程序的拍卖。

1、下载PHP的XDebug扩展,网址:

·怎样设置

2、在Ubuntu下编写翻译安装BDebug

·怎么样布署

sudo tar vxf xdebug-2.1.0.tgz cd xdebug-2.1.0.tgz

·如何进行

sudo /usr/local/php/bin/phpize

·怎么着验证

sudo ./configure –enable-xdebug
–with-php-config=/usr/local/php/bin/php-config

·遭逢难点

sodu make && make install

. 附加内容

注:安装到位之后在/usr/local/php/lib/php/extension/no-debug-non-zts-二〇〇九0626下会有多少个xdebug.so 文件

大器晚成、怎样设置

sodu vim /usr/local/php/lib/php.ini

1、下载安装包

改良php.ini,扩张以下配置消息支撑XDebug扩张

下载地址:

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

2、解压安装包

[澳门新葡亰信誉平台游戏,Xdebug]

$ tar –xvf php-5.6.20.tar

xdebug.auto_trace=On

3、配置并设置

xdebug.collect_params=On

$ cd php-5.6.20

xdebug.collect_return=On

$ ./configure –enable-fpm –with-mysql// 开启php-fpm和mysql支持

xdebug.trace_output_dir=”/tmp/xdebug”

$ make

xdebug.profiler_enable=On

$ make install

xdebug.profiler_output_dir=”/tmp/xdebug”

4、创制布局文件

xdebug.profiler_output_name = “cachegrind.out.%c”

$ cd php-5.6.20

纠正文件夹权限,使xdebug能够在钦命文件夹中写log

$ cp php.ini-development /usr/local/php/php.ini

sudo mkdir -p /tmp/xdebug

$ cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf

sudo chmod 777 /tmp/xdebug

$ cp sapi/fpm/php-fpm /usr/local/bin

sudo chown group:user /tmp/xdebug

NOTE:

sudo /usr/local/apache/bin/apachectl -k restart

创办构造文件,并将其复制到准确地方技巧生效哦。

当时,xdebug应该早已配备成功了,能够动用<?php phpinfo(卡塔尔;
?>来查看php消息,假如有xdebug这么蓬蓬勃勃栏,则申明安装成功。

二、如何布置

那儿,每当使用web浏览器访问三遍php文件,就能够爆发一个遥相呼应时间戳的log文件,能够查阅它记录的音信。

1、php.ini配置

自家利用的log剖析软件是WinCacheGrind,因为是windows版,所以须求采用wine运行。

对此PHP的陈设部分,我们大部分只须求配置php.ini配置文件就可以。而那边我们着力维持暗许的php.ini中的配置,现在会三番两次对那一个文件进行配置表达及优化。如若文件不设不经常,为了以免恶意脚本注入攻击难题,须要阻止Nginx服务器恳求发送到php-fpm,所以须求在php.ini中解注释并修正内容如下:

接下去,步入WinCacheGrind就会看到各样函数试行的小运了~

cgi.fix_pathinfo=0

澳门新葡亰信誉平台游戏 1

2、涉及到的布署

Php-fpm配置:

参考:

Nginx配置:

参考:

Mysql配置:

参考:

三、如何进展

在PHP开拓中,相当多常用的成效是以第三方库格局提供开展扶持的,所以需求为php增加拓宽库辅助,前段时间帮助两种艺术丰盛拓宽,可参谋官方认证:

而在那,小编相比较合意使用PHPIZE底层编写翻译安装扩充帮助,生成的动态.so库文件寄存路线:/usr/local/lib/php/extensions/no-debug-non-zts-20121226,具体如下:

PS:修改过php.ini配置之后,记得重启fpm哦,不然修改不奏效。

1、Xcache

$ tar -xvf xcache-3.2.0.tar

$ cd xcache-3.2.0

$ sudo phpize

$ sudo ./configure –enable-xcache –enable-xcache-coverager

–enable-opcache –enable-xcache-optimizer

$ sudo make

$ sudo make install

NOTE:

–enable-xcache:包含对xcache的支持;

–enable-xcache-coverager:蕴含衡量加速器的目的的附加特色;

–enable-xcache-optimizer:包蕴操作码优化辅助;

配置:

php.ini:

[xcache-common]

extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/xcache.so

[xcache.admin]

xcache.admin.enable_auth = On

xcache.admin.user = “admin”

xcache.admin.pass = “”

[xcache]

xcache.shm_scheme =”mmap”

xcache.size=1024M

xcache.count =16

xcache.slots =8K

xcache.ttl=0

xcache.gc_interval =0

xcache.var_size=16M

xcache.var_count =1

xcache.var_slots =8K

xcache.var_ttl=0

xcache.var_maxttl=0

xcache.var_gc_interval =300

xcache.test =Off

xcache.readonly_protection = On

;xcache.mmap_path =”/dev/zero”

xcache.mmap_path =”/tmp/xcache”

xcache.coredump_directory =””

xcache.cacher =On

xcache.stat=On

xcache.optimizer =Off

[xcache.coverager]

xcache.coverager = On

xcache.coveragedump_directory = “”

[opcache]

; so地址

zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/opcache.so

; 按钮展开

opcache.enable=1

; 开启CLI

opcache.enable_cli=1

; 可用内存, 酌情而定, 单位为:Mb

opcache.memory_consumption=128

; Zend Optimizer + 暂存池中字符串的占内部存储器总数.

opcache.interned_strings_buffer=8

; 对多缓存文件约束, 命中率不到 100% 的话, 能够试着巩固那几个值

opcache.max_accelerated_files=4000

; Opcache 会在一定时间内去检查文件的校正时间, 这里设置检查的时辰周期,
默感觉2, 定位为秒

opcache.revalidate_freq=60

; 展开快捷关闭, 展开这几个在PHP Request Shutdown的时候回笼内部存款和储蓄器的快慢会增加

opcache.fast_shutdown=1

NOTE:

通过比比较多的优化管理及保管程序本身并没不通常,只是因为操作太多不能够再展开优化,这时候能够考虑采取xache、apc等PHP加快器来裁减cpu拆解深入分析php文件的性质消耗难题

2、Xdebug

$ tar –xvf xdebug-2.4.0.tar

$ cd debug-2.4.0

$ phpize

$ sudo ./configure –prefix=/usr/local/xdebug

$ sudo make

$ sudo make install

配置:

php.ini:

[xdebug]

xdebug.auto_trace = off

xdebug.auto_profile = off

xdebug.collect_params = on

xdebug.collect_return = on

xdebug.profiler_enable = on

xdebug.remote_enable = off

xdebug.trace_output_dir = “/tmp”

xdebug.profiler_output_dir =”/tmp”

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

NOTE:

怎么样监督和调度PHP程序?这里运用了Xdebug拓展库支持。

3、Mcrypt

$ tar libmcrypt-2.5.8.tar.gz

$ cd libmcrypt-2.5.8

$ sudo ./configure –disable-posix-threads –enable-static

$ sudo make

$ sudo make install

$ cd php-5.6.20/ext/mycrypt

$ sudo phpize

$ sudo ./configure

$ sudo make

$ sudo make install

配置:

php.ini:

extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/mcrypt.so

四、如何验证

1、验证PHP

php –v

澳门新葡亰信誉平台游戏 2

2、验证PHP拓展

在印证的PHP的实行时,有三种艺术:

phpinfo(卡塔尔及php –m,这里就以phpinfo(卡塔尔(قطر‎为例表达验证。

Xcache:

澳门新葡亰信誉平台游戏 3

Xdebug:

澳门新葡亰信誉平台游戏 4

Mcrypt:

澳门新葡亰信誉平台游戏 5

五、遭遇标题

1、PHP扩充已经设置成功,何况已经加多php.ini配置,也重启了fpm,但是php
–m或是phpinfo() 始终不显示。

消除办法:

<? phpinfo(卡塔尔 ?> 查看Configuration File
Path,这些路子即为当前见效的php.ini寄放的路子,那么难点很恐怕您布置的php.ini路线不对。

2、PHP扩充xcache已经设置及布局完毕,也重启了fpm,可是php
–m或是phpinfo() 始终不出示。

化解办法:

修改zend_extension=xxx为extension=xxx就可以,原因是因为xcache在3.0后,不再帮忙使用zend_extension加载xcache.so了,而是使用extension加载,相当于只把xcache充当为一个拓宽库,对于PHP的加快才是使用zend_extension=xxx/opcache.so。

NOTE:

对于地点的PHP拓宽,会在末端的下结论作品中开展汇总介绍及使用验证。

六、附加内容

作者们得以接受php-config查看当前PHP的相关安装及布署消息:

$php-config –help

慎选表明:

选项

说明

–prefix

PHP 所安装的路径前缀,例如 /usr/local

–includes

列出用 -I 选项包含的所有文件

–ldflags

PHP 编译时所使用的 LD 标志

–libs

PHP 编译时所附加的库

–extension-dir

扩展库的默认路径

–include-dir

头文件的默认路径前缀

–php-binary

PHP CLI 或者 CGI 可执行文件的完整路径

–php-sapis

列出所有可用的 SAPI 模块

–configure-options

重现当前 PHP 在编译时的配置选项

–version

PHP 版本号

–vernum

PHP 版本号,以整数表示

别的,有时我们须求掌握所设置的开展是不是必要设置注重或运维支持,那么能够运用上边的吩咐查询就可以:

$./configure –help | grep extname

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图