Azure网站上的PHP — XDebug
来源:互联网 发布:淘宝hd 2.6.1版本 编辑:程序博客网 时间:2024/05/16 13:46
目前,Microsoft Azure网站不支持远程调试PHP站点。但是,您仍然可以使用XDebug扩展模块排错PHP网站问题。Xdebug是一个开源PHP程序调试器,可以用来跟踪,调试和分析PHP程序的运行状况。
下面具体介绍如何使用XDebug的性能分析功能查找PHP网站的性能瓶颈。在
Azure网站上的PHP — 配置PHP扩展模块中介绍了如何配置XDebug PHP扩展模块。
要启用XDebug的Profiling功能,需要创建一个包含如下内容用的.user.ini文件,并通过FTP上传到/site/wwwroot目录下。
zend_extension = "d:\home\site\wwwroot\bin\php_xdebug-2.2.4-5.5-vc11-nts.dll"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="D:\home\LogFiles"
启用后,如下图所示,在/LogFiles目录下会生成cachegrind.out文件。
我们需要使用WinCacheGrind工具分析XDebug的性能文件,WinCacheGrind工具可以从SourceForge网站下载。
如下图所示,我们可以非常直观的看到SlowFunction使用了74秒多的时间。
双击SlowFunction,可以看到下图所示的具体信息。SlowFunction被调用了mySleep10次,每次花费5~10秒。
按需启动XDebug Profiler
在前面的例子中,使用了xdebug.profiler_enabled=1来启用XDebug的profiler功能。该设置应用到整个网站所有的PHP页面,会导致整个网站的性能进一步变慢,在生产环境中可能会导致严重的客户体验问题。
我们可以使用触发器来启用xdebug的profiler功能。当xdebug.profiler_enable_trigger被设置为1,正常的页面访问不受影响。您需要通过使用XDEBUG_PROFILE的GET/ POST参数,或者设置一个名为XDEBUG_PROFILE的一个cookie来触发xdebug的profiler功能。通常,使用xdebug_enable_trigger的时候,我们需要设置xdebug.profiler_enable为0。如果您需要通过触发器来启用xdebug的profiler功能,您需要在网站的根目录下创建一个.user.ini文件包含下面的内容。
zend_extension = ".\bin\php_xdebug-2.2.3-5.5-vc11-nts-x86_64.dll"
xdebug.profiler_enable=0
xdebug.profiler_output_dir="D:\home\Logfiles"
xdebug.profiler_enable_trigger=1
使用改配置,正常的PHP网页访问不受影响。如果您希望打开profiler的功能,在访问页面的时候需要加入?XDEBUG_PROFILE=1来触发profiler功能。比如,此时您可以通过访问HTTP://mysite.azurewebsites.net/slow.php?XDEBUG_PROFILE=1来启用xdebug的pfofiler功能。如果您需要POST请求来重现问题,您可以使用Fillder等工具来构建HTTP请求,或者您可以使用xdebug的浏览器扩展。
- Azure网站上的PHP — XDebug
- Azure网站上的PHP — 架构
- Azure网站上的PHP — 配置
- Azure网站上的PHP — 配置自定义版本PHP
- Azure网站上的PHP — 配置PHP扩展模块
- Azure网站上的PHP — 排错
- Azure 网站上的 Java
- Windows Azure 网站上的 WebSocket 简介
- Windows Azure 网站上的 WordPress 3.8
- windows 上 怎样编译 php 和 xdebug的 源代码
- 删除 Windows Azure 网站上的标准服务器头
- PHP Xdebug的使用
- php xdebug的配置
- php xdebug的安装
- 如何访问Azure上的SharePoint 网站(How to access the SharePoint site of Azure)
- php xdebug的安装使用
- Azure+PHP 网站如何设置伪静态
- Xdebug—php调试工具
- 根据字符串类名动态创建对象
- 每日一博
- springMVC
- 我啊我他额的啊个飞
- 扎克伯格的中文夜:想要成功就不能放弃
- Azure网站上的PHP — XDebug
- svn切换账号
- 提升程序员身心健康和工作效率的装备有哪些?
- Qt中设置窗口居中显示
- 读《遥感科学与技术中的一些前沿问题》总结
- rhel6.5安装OpenFOAM-2.3.0
- 南宁哪家医院丰胸整形好【好】
- linux/ubuntu mozilla install adobe flash player 简明教程
- HDU steps 1.2.8 Vowel Counting(ch【】数组参数传递)