在NETBEAN6.9.1中使用 XDEBUG调试PHP5.3.x的配置

     本文主要介绍在NETBEAN6.9.1中使用 XDEBUG调试PHP5.3.x的配置。
上文,我已经介绍过了NETBEAN这款开发工具。
这里,讲一下在NETBEAN6.9.1中使用 XDEBUG调试PHP5.3.x的配置.我的PHP版本为5.3.3,WIN环境。全部使用最新版开发环境。

第一步:安装PHP5.3,使用phpinfo输出信息,确认安装成功。

   注意版本的区别,建议下载VC6版本,并且线程安全的那一个。至于什么是线程安全,可以百度。

第二步,我们要将xdebug配置起来.


1.进行xdebug的官方 http://www.xdebug.org/.

2 进入下载页面选择适合你的版本下载. http://www.xdebug.org/download.php

3.XDEBUG官方默认会把你带入自动配置页面http://www.xdebug.org/find-binary.php,把本机中输出的phpinfo的页面内容复制出来,粘贴到底部的文本区域里。注意是直接在网页中全选复制,而不是复制网页的源代码。Do not paste the raw HTML (from view-source) into the form.

4.
粘贴后,点击 analyse my phpinfo() output提交,Xdebug会根据你的phpinfo的信息,给你如下建议。
如我的:
Summary
    * Xdebug installed: 2.1.0
    * Server API: Apache 2.0 Handler
    * Windows: yes - Compiler: MS VC6 - Architecture: x86
    * Zend Server: no
    * PHP Version: 5.3.3
    * Zend API nr: 220090626
    * PHP API nr: 20090626
    * Debug Build: no
    * Thread Safe Build: yes
    * Configuration File Path: C:\WINDOWS
    * Configuration File: E:\td\php533\php.ini
    * Extensions directory: E:\td\php533\ext
here are the instructions anyway:
   1. Download php_xdebug-2.1.0-5.3-vc6.dll
   2. Move the downloaded file to E:\td\php533\ext
   3. Update E:\td\php533\php.ini and change the line
      zend_extension = E:\td\php533\ext\php_xdebug-2.1.0-5.3-vc6.dll
   4. Restart the webserver 【注意要重启服务器后PHP.INI的变动才会生效】

5.成功下载到适合自己PHP版本的php_xdebug.dll(我下载的为php_xdebug-2.1.0-5.3-vc6.dll)后,我们将它复制到自己的PHP的ext目录中。具体你的PHP的ext目录在哪里,我们可以从phpinfo中获取得到.

6.配置PHP.INI文件。下面是我的配置:
[xdebug]
;用中括号表示出来的是模块名称,它会在你的phpinfo信息中作为大的分隔的标题显示出来.
zend_extension=E:\td\php533\ext\php_xdebug-2.1.0-5.3-vc6.dll
;设置php_xdebug的dll文件路径和名称. 有些老的教程使用zend_extension_ts. 这个在新的XDEBUG中已经改了。千万注意了。
xdebug.auto_trace=On
;Xdebug会将php的对函数调用的监测的信息用文件格式输出来
xdebug.collect_params=On
;Xdebug会将php的对函数调用的参数加入到函数过程调用的监测中
xdebug.collect_return=On
;将函数调用的返回值加入到函数过程调用的监测中
xdebug.trace_output_dir="E:/td/debug"
;设置的函数调用监测信息的输出路径
xdebug.profiler_enable=On
;这是效能监测的设置开关
xdebug.profiler_output_dir="E:/td/debug"
;这是效能监测信息设置为on的情况下,写入到profiler_output_dir设置的路径中,会生成一个相应的文件.
    以上就是基本配置了,更详细的,比如更改XDEBUG输出的颜色啊,样式啊,都可以在phpinfo中查看输出,然后自己添加,覆盖默认值。配置完成后,重启apache,在phpinfo中,你应该能够正常看到xdebug这样的大标题项,以及下面星罗棋布的小项。

第三步:让netbean和xdebug结合起来.

在php.ini文件中加入
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
    以上信息可以在进行netbean调试时,弹出的警告对话框中获取,用来设置xdebug对netbean的支持.
重启apache,此时你的netbean的调试器已经和xdebug关联起来了,可以对php程序进行调试.

第四步:xdebug的其他使用。

    生成的效率调试文件,我们可以使用wincachegrind来进行详细读取和分析。不过这个软件很老了。在变量分析阶段,我们也可以使用xdebug自带的函数来帮助分析。
    我们可以在netbean中调试文件,F7逐行的来跟踪文件运行的每一步,看到系统的每一步时候的输出. F7(步入),ctrl+F7 (步出),F8(步过) 常用的这几个键. 在想中断调试的地方我们可以下断点进行调试。
下面是我的一个截图。
2010-09-26_144103.png

netbean官方xdebug使用指南地址:http://wiki.netbeans.org/HowToConfigureXDebug

[重点推荐]一款专业级Web开发工具NetBeans6.9.1,php,java开发利器

      一款专业级Web开发工具NetBeans6.9.1,php,java开发利器.
     首先,之所以标题不叫 PHP开发工具,是因为这是一个综合的开发工具,就像Eclipse、VS,所以,如果你只是纯粹的PHP开发人员,也许你会有更好的选择。
没有最好的工具,只有适合自己的工具!
所以这贴不是讨论那个好那个坏的,仁者见仁,智者见智,各有所需,各有所好。
由于本人经过长时间的使用和赛选,觉得它是最出众的,不敢独享,所以拿出来分享。
言归正传,本人重点推荐的Web专业开发工具是:NetBeans
     没错,你没看错,就是SUN公司推出的皇家Java开发工具,今年已经10年了,但是很少有人知道它能用来做PHP开发,因为NetBeans在2008年的9月份左右才开始支持PHP开发,也推出了相应的PHP版,安装文件>相当小,只有31M,当然并没有包含Java运行环境,这个需要独立安装。但是对于JAVA版的,可以下载捆绑了JRE的安装包。
NetBeans目前有JAVA,JAVAFX,J2EE,C++,PHP,RUBY,ALL一共7个安装包,最新版本为6.9.1。
介绍一下它的特性

阅读剩余部分...

只做好玩的程序-仿QQ密保卡及银行口令卡的实现。

效果如图:
A00010.png
采用的加密卡,实际上也是验证码的方式,但是这个“验证码”是放在在特定的容器内,可以有效阻止重放。

这种方式主要使用在登陆界面,例如工商银行的口令卡。
这是我在一篇关于阻止垃圾评论的文章里提到过的一种方式。
制作方法很简单,但是也有诀窍。
(1)先用GD2绘图。在一张很大的背景图上面打印出数字和编号,然后裁切成需要的大小
(2)再打印出来的图片中,描绘各种框线,文字说明,图标等等。然后抹去数字,这样就成了真正意义上的背景图了,也就是底版。底版是没有了数字的模板。这一步纯粹是PS功底。
(3)再在这个母版上打印文字和数字。

阅读剩余部分...

windows下常见php集成环境安装包介绍

    WAMP是指在Windows服务器上使用Apache、MySQL和PHP的集成安装环境,可以快速安装配置Web服务器,一
般说来,大家都习惯于将Apache、MySQL、PHP架设在Linux系统下,但是,不可否认的是Windows也有其优
点,就是易用,界面友好,软件丰富,操作起来非常方面,因此对新手来说在Windows平台下使用Apache、MySQL、PHP也确实是一个不错的选择。下面我将介绍几款在Windows下可以使用的WAMP集成环境。
     很多新手纠结于到底用哪个集成包,换来换去。我这里就常见的做个总结,推荐一款最合适的。

阅读剩余部分...

一个懂哲学懂艺术会思考的程序员,才是好程序员

    今天无聊,去看了下PPC的夜色,顺便看到有人求助
http://bbs.phpchina.com/thread-193741-1-1.html
问@$_SERVER[(HTTP_A)]==(b)  是什么意思?[实际上,lz敲代码把引号给敲掉了,这又何妨,PHP弱类型]
2楼也有人回答了,但是很含糊,看来2楼的也不是很确定。。LZ也没看明白,继续发问。。。

我们来分析下最简单的基础知识:
    在PHP里,[]表示是一个数组,==表示判断相等,()小学生也知道,叫做小括号,用于改变优先级,加减乘除运算常用,及时不需要改变优先级,有时候为了以防万一,或者美观,也会括起来。@用来取消错误报告
比如8+6+2*3写成(8+6)+2*3也是可以的。这是毋庸置疑的。
    好了,我们回来,这句代码啥意思呢?
如果$_SERVER这个数组里键值为HTTP_A的这个元素的值是b的话,那么。。。不显示报错信息。
看这里
<?php
echo 6==('6');
    ('b')就是'b'的意思,括号你然道不知道啥意思吗?就是括起来的意思,估计楼主你没看懂,以为是啥函数啊啥的。。。。$_SERVER又咋了,不还是个数组么?就是这么简单,没错。
虽然我说这么多,貌似有点大题小做,但这个真的很普遍,很多人钻牛角尖,把简单问题复杂化,抓不到本质。
    就是这么简单。尽管字母变成了大些,字符外面报了个括号表示美观,那又咋样?削了皮的苹果还是苹果,穿了男人衣服的李宇春还是女人。剥了著姐的衣服他还是个男人。
这就是哲学,不要被表面迷惑。不要想那么多,不要钻牛角尖。
     这就是一个简单的不能再简单的判断,想那么多干嘛?一个懂哲学懂艺术会思考的程序员,才是好程序员。这就是哲学的用处,我把你认为的复杂的东西用简单的话告诉你。
简单的就是美的。最完美的证明和理论都是用很简单的文字来描述的。学过数论的应该很清楚这个道理。
最后说一句,我不是批评新手,而是告诉你们,学好哲学吧,学会抓问题的本质。
最后顺便说一下,我也是个新人,就是PPC那个天天强调抓本质的 iminto童鞋,被人骂的狗血淋头的也是我。共勉吧

整理过的PHP初级程序员、开发工程师能力测试

PHP初级程序员、开发工程师能力测试。本测试来源于网络整理及自己的一些理解,加入了一些自己开发中遇到的问题。
以后将不大接触PHP了,故而整理一下贴出来,修改了部分题目,解答了部分题,本贴不附答案。。
-----------------------------------昏哥线------------------------------
PHP初级程序员能力测试[闭卷]
注:①本测试满分100+4分,60分及格,形式为闭卷,不得翻阅任何手册和参考书籍。本试卷使用的PHP版本为5.2.6+,WEB服务器使用APACHE2+,开发平台为WINDOWS xp+
 ②本测试时间为3小时,若题后标明不限语言平台,则你可以使用PHP,C/C++,JAVA等任意一门语言完成。
③出题人&整理人:网络,陈小白。
1.已知三点A,B,C的坐标为A(20,20),B(15,40),C(50,30),三点构成一个三角形,求判断点D(30,18)是否在此三角形内。【本题主要考察基本算法,解答不限语言平台 5分】

2.求1~50万以内的素数。【本题主要考察基本算法,解答不限语言平台 5分】

附加题:用PHP求出1亿以内的素数并保存在文件中;求出100亿以内的素数的大概个数。【+4分】

3.请问$_GET,$_POST,$_REQUEST变量的作用是什么?区别是什么?【考察点:php 的变量机制 本小步骤:3分】

已知现在有一个表单定义如下:
<form action="?na.me=chen" method="post">
<input type="text" name="name" value="chen_rs"/>
<input type="submit" value="submit" />
</form>
那么$_GET['na.me']和$_POST['na.me']的值是什么?为什么?【本小步骤:2分】

阅读剩余部分...

一些被忽视的 PHP 函数(整理)

重点推荐下,顺便我自己也做个整理。


sys_getloadavg()


这个函数返回当前系统的负载均值信息(当然 Windows 下不适用),详细文档可以翻阅 PHP 的相关文档。文档中有段示例代码,基本上也就能看出它的用途了。

阅读剩余部分...

    Page :
  1. 1
  2. ...
  3. 4
  4. 5
  5. 6
  6. 7