⑴ 为什么php的xdebug的auto_trace一打开有的网页显示不了
xdebug.auto_trace 用于设定在脚本运行前是否自动跟踪方法的调用信息。
该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置项的默认值为off。
xdebug.trace_output_dir="/tmp/xdebug" ;设定函数调用监测信息的输出文件的路径
xdebug.profiler_output_dir="/tmp/xdebug" ;设定效能监测信息输出文件的路径
能显示的页面是php页面。
还是 html文件啊。
如果是html文件,说明你的配置文件php.ini 中有错误。
⑵ 怎么设置phpstorm xdebug不弹出浏览器
PHP安装xdebug扩展
我使用Laravel Homestead作为开发环境默认已经安装,如果没有安装自行安装下,再继续。
查看phpinfo如图:
remote_handler 、remote_host、remote_port 这些都有默认值,但还是建议设置下,至少知道要设置这些参数~
END
PhpStorm设置
1、检查phpstorm的xdebug配置。这里的debug port要和php.ini里面的xdebug.remote_port相一致!默认是9000,如果9000端口被占用的话,可以改成其他端口。
设置debug.
添加server~
swoole.app是我本地的 web server~ ~
3
3.开始调试
打好第一个断点,shift + F9就可以了
打好第一个断点,选中配置的debug, 按旁边的臭虫 按钮
⑶ 如何解决xdebug安装失败
方法/步骤
查看错误,错误信息存在apache的logs文件中,查看方法如图:
下载xdebug方法,到xdebug.org官网下载后放到一个地方即可,推荐存放到php/ext目录中,需要注意的是一定要下载和你的apache和php版本都一致的版本,否则可能会加载失败。
安装xdebug方法:在php.info配置文件中添加xdebug配置信息,即可,如图。
[xdebug]
zend_extension=D:/php/php-5.4.31/ext/php_xdebug-2.2.2-5.4-vc9.dll
;zend_extension= /usr/lib/php5/20090626+lfs/xdebug.so (Linux)
xdebug.remote_enable=on
xdebug.remote_handle=dbgp
xdebug.remote_host=127.0.0.1
xdeubg.remote_port=9000
xdebug.idekey="ide.xdebug"
Xdebug.auto_trace = on
;function info formmat
xdebug.profiler_enable=on
;xingneng info
xdebug.trace_output_dir="D:/php/php-5.4.31/xdebug"
;xingneng info
xdebug.profiler_output_dir="D:/php/php-5.4.31/xdebug"
;xingneng info
Xdebug.profiler_output_name="cachegrind.out.%p"
重启apache,通过phpinfo查看,如果能看到xdebug说明安装成功,否则请根据第一步查看错误方法 进行排查。成功页面如图:
END
注意事项
下载的xdebug文件名中的版本号分别是apache的版本号和php的版本号,需选择正确
php.info文件中配置加载xdebug目录时都需要写文件的全路径
⑷ 怎么修改php xdebug-idekey
在PHPSTORM中配置XDEBUG
其实并不需要写idekey。
php.ini
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an; absolute path.
;curl.cainfo =
; Local Variables:
; tab-width: 4
; End:
; XDEBUG Extension
zend_extension = "d:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll";
;[xdebug]
xdebug.remote_enable = on
xdebug.profiler_enable = on
xdebug.profiler_enable_trigger = on
xdebug.profiler_output_name = cachegrind.out.%t.%pxdebug.profiler_output_dir = "d:/wamp/tmp"xdebug.show_local_vars=0
xdebug.idekey = "phpstorm"
xdebug.auto_trace = on
xdebug.show_exception_trace = on
;***** Added by go-pear
include_path=".;d:wampinphpphp5.5.12pearpear";*****
执行跟踪断点
点击Run->Debug 会自动的打开PHP Web Application 中配置的网址(网址结尾会加上参数XDEBUG_SESSION_START=xxx),无需开启 Start Listening For PHP Debug Connections。
⑸ php的xdebug有什么用
速度慢并不是
xdebug
运行慢,而是配置了
xedebug
,它首先会去尝试连接调试服务器,连接不上才直接返回
php
结果。如果这时候打开
phpstorm
的调试监听,这时候
php
运行的速度就超快了。
xdebug只开启debug来,trace,profile都关掉。
⑹ PHP中XDEBUG配置问题,新手求解答
把zend_extension="E:\PHP5\ext\php_xdebug.dll"
写到PHP的extension=xxx.dll周围不要写在[Xdebug]中。
查看php的error log文件看为什么加载错误,常见的错误是文件路径不对,版本不对。
一般调试[Xdebug]的配置都不用写。就写一行zend_extension即可。
⑺ php5.5怎么配置xdebug
用phpstudy 2014集成包里面已经集成xdebug,已经配好。在菜单php扩展管理勾上xdebug即可。如图
⑻ php xdebug 怎么配置
1、下载安装xdebug
1.1 到http://xdebug.org/download.php 下载适合你的PHP版本的xdebug
1.2 复制到php安装目录的ext文件夹,改名为php_xdebug.dll
1.3 配置xdebug
在php.ini尾部添加如下
[xdebug]
zend_extension="php_xdebug.dll"
xdebug.remote_enable = On
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"
xdebug.auto_trace = 1
xdebug.collect_includes = 1
xdebug.collect_params = 1
xdebug.collect_return = 1
xdebug.default_enable = 1
xdebug.collect_assignments = 1
xdebug.collect_vars = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.show_local_vars = 1
xdebug.show_exception_trace = 0
运行phpinfo();看有xdebug模块信息出来就是搞定了。
2、配置Zend Studio 支持xdebug
这里的配置很重要
选择Zend Studio 的 Window 》 Preference 》 PHP 》Installed Debuggers 双击 Xdebug,弹出对话框如下图
Debug Port 设为跟php.ini中设置的一样(默认是9000)。
Accept remote session(JIT) 选择localhost
允许浏览器访问网站时zend studio自动打开文件开始调试。
选项说明: http://www.111cn.net
off: 关闭浏览器访问时打开调试功能;
localhost: 通过localhost访问网页的时候打开调试。
any:只要访问服务器上的php都打开调试;
prompt:访问服务器上的php时弹出询问是否要调试。
一旦打开zend studio允许xebug调试,所有访问php页面都会进入调试。
我们可以使用easy xdebug火狐插件可在客户端控制是否开启调试。
1、首先php.ini设置
xdebug.remote_autostart = 0
不自动启动调试。
2、安装火狐插件easy xdebug,
安装好该插件后,点击如下图右下角小绿虫后,虫子上面有个小红点,这时候我们访问测试服务器的时候,Zend Studio就回自动弹出调试。
另外,可设置使用xdebug,在zend studio中对直接调试php文档,这里就不多说了。
⑼ phpstorm如何去监听本地app实现本地调试
般是通过浏览器访问web项目,脚本的执行不受ide控制,所以一般情况下无法在ide中实现断点,但是有了xdebug,一切变得不一样了。
当然,我们首先给php安装xdebug扩展,xdebug 有个远程调试的功能,可以指定一个远程ip地址和端口,当我们在浏览器中访问某个脚本的时候,可以通过某种方法告诉xdebug我们需要调试,然后xdebug会将调试信息发送给远程地址,这个远程地址呢,就是我们phpstorm来实现的,它将接收xdebug吐出来的信息,并在ide中反馈给我们,我们就可以实现断点调试了。
那么,实现这个功能分三步走:
1.安装&配置xdebug
安装扩展过程就略了,简单贴一下我的xdebug配置参数,在php.ini中:
[xdebug]
zend_extension="/usr/local/Cellar/php54-xdebug/2.2.5/xdebug.so"
xdebug.remote_enable =1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_mode = "req"
xdebug.remote_port = 9001
xdebug.idekey="PHPSTORM"
注意xdebug.remote_host和xdebug.remote_port两个参数,这与phpstorm有关,先留个心。
之后重启下webserver以使php.ini生效。
2.phpstorm配置
在project settings - PHP - Debug中,有一个xdebug的栏,其中有一个debug port,我们设置为9001和上面xdebug.remote_port保持一致,其他不变,保存配置。
然后点击phpstorm菜单栏run - start listening for php debug connections,这时候php会后台创建一个服务来监听localhost:9001这个地址,对应 xdebug 配置的。
3.浏览器触发调试
万事俱备只欠东风,现在打开一个php脚本是不会产生调试信息的,xdebug不会调试所有的请求,必须指定一个标识,xdebug才能识别。
现在,打开 https//wwwjetbrains.com/phpstorm/marklets/ 这个地址,点击左侧的 generate 按钮,然后页面下方会出现一系列链接,比如 "start debugger" ,查看它的href属性会发现是一个js代码,复制它,然后到你要调试的页面,在f12控制台中执行它,它会在当前域下生成一个cookie,当请求url时,xdebug就能根据这个cookie知道你要debug,随即向localhost:9001吐数据,phpstorm接收到以后再结合自身的断点调试工具...
但是这样太麻烦,如果你用的是chrome那可以下载一个插件,名字叫 "Xdebug helper" 你可以在插件市场搜索到并安装它,安装好以后在扩展管理中心找到它,并点击 "选项" 链接,进入插件的配置页面,其中IDE Key选择 "phpstorm" ,然后在Domain filter中将你的项目域名添加进去。这样,当你访问你的项目url时,会在地址栏右侧出现一个小虫子,你可以点击小虫子开启debug,很方便吧。
这样,你在phpstorm中对应url的脚本设置一个断点,然后浏览器中开启debug,刷新页面,phpstorm会自动弹出一个确认框,让你确认是否调试指定的脚本。接着你就可以快乐的使用断点调试功能了。
⑽ phpstorm 怎么关掉xdebug
php安装xdebug扩展
我使用laravel
homestead作为开发环境默认已经安装,如果没有安装自行安装下,再继续。
查看phpinfo
remote_handler
、remote_host、remote_port
这些都有默认值,但还是建议设置下,至少知道要设置这些参数~
phpstorm设置
1、检查phpstorm的xdebug配置。这里的debug
port要和php.ini里面的xdebug.remote_port相一致!默认是9000,如果9000端口被占用的话,可以改成其他端口。
2
设置debug.
添加server~
swoole.app是我本地的
web
server~
~
3.开始调试
打好第一个断点,shift
+
f9就可以了
打好第一个断点,选中配置的debug,
按旁边的臭虫
按钮