程序开发过程中,一般用得最多的调试方法就是用echo、print_r()、var_dump()、printf()等将语句打印出来。对PHP脚本的执行效率,通常是脚本执行时间。对数据库SQL的效率,通常是数据库Query时间,但这样并不能真正定位和分析脚本执行和数据库查询的瓶颈所在?对此,有一个叫Xdebug(www.xdebug.org
)的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。
一、以windows平台对此模块的安装做简单的介绍:
1. 下载PHP的XDebug扩展,网址:http://xdebug.org/(这个根据你目前使用的PHP版本而定);
2. 将下载的模块(php_xdebug-2.0.5-5.2.dll)放到PHP的安装的 ext 目录下;
3. 配置php.ini文件,将以下几行添加
**************************************
extension=php_xdebug-2.0.5-5.2.dll
[Xdebug]
xdebug.profiler_enable=on
xdebug.trace_output_dir="E:\Projects\xdebug" #放置Xdebug输出的数据文件的目录
xdebug.profiler_output_dir="E:\Projects\xdebug"
********************************************************
4. 重启Apache服务器。完成!!!
5. <?php echo php ......
PHP(Hypertext
Preprocessor)这门虽然简单但功能却是非常强大的脚本语言,下面就
基于WindowsXP+sp2的操作平台下的
Apache2.0.53+php5.2.1安装及基本配置过程记录下来以供参考:
一、首先从各官方网站下载以下程序:
1. apache_2.0.53-win32-x86-no_ssl.exe
2. php-5.2.1-Win32.zip (二进制压缩包)
二、安装及配置过程:
1. 安装apache Web 服务器:
双击安装文件apache_2.0.53-win32-x86-no_ssl.exe 将其安装在 D:/Apache目录下(本人在D盘新建了Apache文件夹)下,
-------------------------------------------------------
+ 注意:安装过程可能会出现以下问题:
+ OS 10048通常每个套接字地址 (协议/网络地址/端口) 只允许使用一次:
+ make_sock: could not bind to address 0.0.0.0:80...” 一般是IIS占用了80端口引起的
+ 两种解决方法:
+ 1、打开 控制面板->服务 找到 IIS admin 的服务 关闭并禁用
+ 2、如果不想关闭IIS服务 可将apache使用的端口改成其它端口
+ 将apache2/conf/httpd.conf 中的Listen 80 改为 Listen (你要使用的端口) 如 Listen 8080
+ 不过这时在你访问你的apache 下的Web服务时 ......
环境:本文中的Linux操作系统为CentOS 5.2,Linux 2.6+ 内核 ,Apache+MySQL+PHP 安装及基本配置过程记录下来以供参考:
一. Apache Web服务器的源代码安装,Tarball安装方式:
1. 源码包:httpd-2.2.6.tar.gz 从 www.apache.org
下载到此目录下:/usr/local/src 同时在 /usr/local 下创建一个httpd目录:mkdir httpd
2. 解压安装包:tar -zxvf httpd-2.2.6.tar.gz
3. 进入解压后的安装包:cd httpd-2.2.6
4. 配置:./configure --prefix=/usr/local/webserver/httpd --enable-cgi ( 意义支持CGI)
5. 编译:make
6. 安装:make install
7. 启动web服务:
/usr/local/httpd/bin/apachectl start 或 service httpd start
或者:开机后立即启动web服务
vi /etc/rc.d/rc.local
新加一行
/usr/local/httpd/bin/apachectl start 或 chkconfig --level 345 httpd on
8. 配置Apache服务器
Apache 配制文件及目录是:/usr/local/
webserver/
httpd/conf/httpd.conf
Apache默认存放主页的位置应该是:/usr/local/
webserver/
httpd/apache/htdocs
Docu ......
环境:本文中的Linux操作系统为CentOS 5.2,Linux 2.6+ 内核 ,Apache+MySQL+PHP 安装及基本配置过程记录下来以供参考:
一. Apache Web服务器的源代码安装,Tarball安装方式:
1. 源码包:httpd-2.2.6.tar.gz 从 www.apache.org
下载到此目录下:/usr/local/src 同时在 /usr/local 下创建一个httpd目录:mkdir httpd
2. 解压安装包:tar -zxvf httpd-2.2.6.tar.gz
3. 进入解压后的安装包:cd httpd-2.2.6
4. 配置:./configure --prefix=/usr/local/webserver/httpd --enable-cgi ( 意义支持CGI)
5. 编译:make
6. 安装:make install
7. 启动web服务:
/usr/local/httpd/bin/apachectl start 或 service httpd start
或者:开机后立即启动web服务
vi /etc/rc.d/rc.local
新加一行
/usr/local/httpd/bin/apachectl start 或 chkconfig --level 345 httpd on
8. 配置Apache服务器
Apache 配制文件及目录是:/usr/local/
webserver/
httpd/conf/httpd.conf
Apache默认存放主页的位置应该是:/usr/local/
webserver/
httpd/apache/htdocs
Docu ......
上周给别人做了个网站,无意间发现自己的作品有很多漏洞,在短短的20秒就被自己用sql注入法给干了。所以查了一点关于sql注入的资料,并且有点感悟,希望能与新手们分享一下。高手们见笑了!
sql注入攻击的总体思路:
发现sql注入位置;
判断服务器类型和后台数据库类型;
确定可执行情况
对于有些攻击者而言,一般会采取sql注入法。下面我也谈一下自己关于sql注入法的感悟。
注入法:
从理论上说,认证网页中会有型如:
select from admin where username=' xxx' and password=' yyy' 的语句,若在正式运行此句之前,如果没有进行必要的字符过滤,则很容易实施sql注入。
如在用户名文本框内输入:abc’ or 1=1-- 在密码框内输入:123 则sql语句变成:
select from admin where username=' abc’ or 1=1 and password=' 123’ 不管用户输入任何用户名与密码,此语句永远都能正确执行,用户轻易骗过系统,获取合法身份 ......
java解析xml文件四种方式
1.介绍
1)DOM(JAXP Crimson解析器)
DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织 的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基 于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应 用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。
2)SAX
SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。 而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文 档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。
选择DOM还是选择SAX? 对于需要自己编写代码来处理XML文档的开发人员来说, 选择DOM还是SAX解析模型是一个非常重要的设计决策。 DOM采用建立树形结构 ......