July 23, 2007
请求资源正在使用中
昨天上海服务器中了arp病毒了,没有办法,机房非得让重新做系统不可了,真郁闷呀,上次做了系统以后,正正好好才一个星期,今天又要做,客户非得气死不可了.
重新开通iis后,发现asp文件无法运行.显示HTTP500错误,把服务器里的IE选项里的”显示友好HTTP错误信息“取消,再浏览,请求的资源在使用中。”,真晕了,看了其它配置都没有问题的,后来才百度一百度了一下,找了下面的解决办法.
后来仔细看了看,发现:只要打开单机版杀毒的脚本监控IIS6.0就会不正常。这就说明这可能和脚本的出错有关。运行regsvr32 jscript.dll(命令功能:修复Java动态链接库) 和 regsvr32 vbscript.dll(命令功能:修复VB动态链接库) 重新注册JAVA脚本和VB脚本的动态链接库后一切正常。
方法一:可能和脚本的出错有关,运行regsvr32 jscript.dll和 regsvr32 vbscript.dll重新注册JAVA脚本和VB脚本的动态链接库
方法二:在IIS中删除原来的网站,再删除原来的应用池。然后重新建应用池,重新建网站。就解决了。
出现这个情况,可能是装了杀毒软件macfee的原因的.
July 22, 2007
Smarty实例 – 使用ADODB连接数据库
今天就先来说说ADODB.说到ADODB,可能做过ASP的都知道WINDOWS平台的ADO组件,但我们这里的ADODB不是微软的那个数据库操作组件,而是由php语言写的一套数据库操作类库,先让我们来看看它倒底有什么样的优点.
以标准的SQL语句书写的数据库执行代码在进行数据库移植时不用更改源程序,也就是说它可以支持多种数据库,包括ACCESS.
提供与微软ADODB相似的语法功能.这一点对于从ASP转行到PHP的人们是一大福音,它的很多操作都与WINDOWS中的ADODB相似.
可以生成Smarty循环需要的二维数组,这样会简化smarty开发.这一点是等会我给大家演示.
支持数据库的缓存查询,最大可能的提高查询数据库的速度。
其它的实用功能. 虽然说优点很多,但是由于这个类库非常的庞大,光它的主执行类就107K,所以如果大家考虑执行效率的话就要认真想想了.不过说实话,它的功能还是很强大的,有很多的很实用的功能,使用它的这些功能,可以非常方便的实现我们想要的功能.所以对于那些老板没有特殊要求时大家不防用用它. **一、如何得到ADODB? 它的运行环境是什么? ** 从http://sourceforge.net/project/show…簆hp4.0.5以上。 二、如何安装ADODB? 解压下载回的压缩文件,注意:大家下载回来的格式为ADODB.tar.gz,这是linux的压缩格式,在windows下大家可以使用winrar对其进行解压,解压完成后将目录拷贝到指定的目录的adodb目录下,像我在例子中将它拷贝到了/comm/adodb/中。 三、如何调用ADODB? 使用include_once (“./comm/adodb/adodb.inc.php”);这行就不用说了吧?包含ADODB的主文件。 四、如何使用ADODB? 1.进行初始化: ADODB采用$conn = ADONewConnection();这样的语句进行初始化,对ADODB进行初始化有两种方式: 第一种方式为:传统方式。我暂时称它为这个名称。它使用的建立一个新连接的方式很像php中的标准连接方式: $conn = new ADONewConnection($dbDriver); $conn->Connect($host, $user, $passwd, $db); 简单吧?如果使用过phplib中的db类应该对它很熟悉的。
第二种方式:采用dsn方式,这样是将数据库的连接语句写成一条语句来进行初始化,dsn的写法有为:$dsn = “DBType://User:Passwd@Host/DBName”; 其中DBType表示数据库类型,User表示用户名,Passwd为密码,Host为服务器名,DBName为数据库名,像这样我使用oracle数据库,用户名:oracleUser,密码为oraclePasswd,数据库服务器为localhost, 数据库为oradb的dsn这样写: $dsn = “oracle://oracleUserraclePasswd@localhost/oradb”; $conn = new ADONewConnection($dsn); 这种方式可能从ASP转行来的程序员会更感兴趣。
这两种方式都可以使用,要看个人习惯来选用了.
相关的概念: 使用ADODB有两个基本的类,一是是ADOConnection类,另一个是ADORecordSet类,使用过ASP的人看到这两个类会明白它的含义,ADOConnection指的是数据库连接的类,而ADORecordSet指的是由ADOConnection执行查询语句返回的数据集类,相关的资料大家可以查询ADODB类的手册。 3.基本的函数:
关于ADOConnection类的相关方法有: 1.Connect:数据库连接方法,上边我们介绍过的。对于mysql还有PConnect,与PHP语言中的用法一样 2.Execute($sql):执行查询语句结果返回一个ADORecordSet类。 3.GetOne($sql):返回第一行的第一个字段 4.GetAll($sql):返回所有的数据。这个函数可是大有用处,记得不记的我在以前的教程中写关于新闻列表的输入时要将需要在页面显示的
新闻列表做成一个二维数组?就是这样的语句:
while($db->next_record()) { $array[] = array(“NewsID” => $db->f(“iNewsID”), “NewsTitle” => csubstr($db->f(“vcNewsTitle”), 0, 20)); } 这一行是什么意思呢?就是将要显示的新闻例表生成
$array[0] = array(“NewsID”=>1, “NewsTitle”=>”这里新闻的第一条”); $array[1] = array(“NewsID”=>2, “NewsTitle”=>”这里新闻的第二条”); … 这样的形式,但如果我们不需要对标题进行控制,在ADODB中我们就有福了,我们可以这样写:
July 19, 2007
日志文件分析工具—AWStats在IIS中的配置
AWStats 是sourceforge.net上很有名的Web/Mail/FTP服务器日志文件分析工具,可以运行在windows系统上分析IIS日志文件,本文讲的是AWStats在windows下的安装及配置。
运行环境说明:
操作系统Microsoft Windows Server 2003 SP2简体中文企业版
Web服务器IIS 6.0
Perl:ActivePerl 5.8.8.820
AWStats 6.7
一、IIS配置 1.启用IIS日志记录:打开windows运行对话框(Windows+R),输入inetmgr,打开Internet 信息服务(IIS)管理器控制台界面,在控制台左边“网站”项目上点击鼠标右键,打开“网站属性”设置窗口,在“网站”标签中,将“启用日志记录”前的复选框选中,再点击“应用”按钮,使设置生效。
2.日志格式设置:活动日志格式选择“W3C扩展日志文件格式,再点击“属性”按钮,进入日志记录属性配置界面,新日志计划选择“每天”,勾选“文件名和创建使用当地时间”,日志文件目录默认为C:WINDOWSsystem32LogFiles,由于Web服务器的长期运行会使日志文件会变得非常大,因此建议不要将日志文件存放在默认的目录中,应该保存到特定的目录中,确保磁盘空间充足,并做好备份和维护工作,如果您不在意以前的数据丢失与否或者您仅仅是在本机做测试,就没必要更改默认目录了,在本项目中,日志文件保存路径设定为:D:siteLogFiles,在设置了日志文件目录后,日志文件其实并不是直接保存在该目录下,系统会在设定的目录中根据需要建立不同的子目录,分别保存不同的日志文件,在下图中,日志文件名:W3SVCXexyymmdd.log是站点的日志的实际存储路径。其中W3SVCX中的X表示不同的WEB站点的标识符,为数字,组合后目录名称为W3SVC1,W3SVC2等,文件名为字母ex加上年月日。实际日志文件名例如:W3SVC1ex070712.log。
3.日志记录属性高级设置:在设置了新日志计划以及日志文件命名规则以后,还需要对日志文件包含的内容进行配置,选择“高级”标签,进入“扩展日志选项”的界面。 勾选以下12个项目,项目必须完全一致。
date(日期)
time(时间)
c-ip(客户端IP地址)
cs-username(用户名)
cs-method(方法)
cs-uri-stem(URI资源)
cs-uri-query(URI查询)
sc-status(协议状态)
sc-bytes(发送的字节数)
cs-version(协议版本)
cs(User-Agent)(用户代理)
cs(Refer)(引用站点)
4.应用配置方案:您可以对服务器上的所有站点进行相同的配置,也可以分别对每个站点进行不同的配置!停止IIS,删除原有的日志文件,然后启动IIS,并访问一次站点,即可生成新格式下的IIS日志记录文件。
二、 Perl语言运行环境 AWStats软件是使用动态语言Perl开发的应用程序,因此服务器上必须具有Perl运行环境,我们这里使用ActivePerl 5.8.x软件,它的安装配置比较简单。
1.下载软件:
版本:ActivePerl-5.8.8.820
文件名:ActivePerl-5.8.8.820-MSWin32-x86-274739.zip
官方网站: http://www.activestate.com/
完整路径: http://www.activestate.com/store/download.aspx?prdGUID=81fbce82-6bd5-49bc-a915-08d58c2648ca
2.安装ActivePerl :
安装用户必须是Administrators组的用户,否则安装不能成功或者不完整,导致软件不能正常运行。
Perl环境变量:如果已经存在PERLLIB, PERL5LIB 或者 PERL5OPT这几个环境变量,必须在安装ActivePerl之前使它们无效,否则这些变量会在安装处理过程中导致Perl模块的版本不兼容问题。
在安装ActivePerl之前,请先停止Web服务器,安装完毕以后再启动WEB服务器。
MSI安装包:双击安装文件,直接进行安装。ZIP安装包,直接拷贝到想要放置的目录。如果已经安装过其他版本,请首先卸载,然后再安装新版本。不要直接在以前版本上安装。 本方案中将ActivePerl安装到C:Perl目录下。
3.配置:
启用Perl服务扩展: 安装ActivePerl以后,还需要配置WEB服务扩展,使得IIS能够支持perl脚本,打开IIS, 选择左边窗口目录树中的“Web 服务扩展”项,则右边窗口中显示出系统已经安装的服务扩展及状态(默认多为禁止),对于ActivePerl 5.8.x在Windows Server 2003上的默认安装,我们可以看到以下两个项目: Perl CGI Extension 禁止、Perl ISAPI Extension 禁止。默认情况下它们处于禁止状态,需要将它们的状态改变为“允许”,请分别选择这两个服务扩展,点击“允许”按钮,启用它们,使得perl脚本程序可以被IIS执行。
添加Perl服务扩展: 如果没有以上两项服务扩展(使用ZIP包安装或者安装其他版本的ActivePerl),那么我们需要手工添加这两项配置信息。 选择管理控制台左边窗口上的“Web 服务扩展”,点击鼠标右键,选择“添加一个新的Web服务扩展(A)…”,在“扩展名”中输入一个完整说明名称(不是文件的扩展名),例如:Perl CGI Extension,点击“添加”按钮,在“文件路径”中输入进行扩展处理的文件的完整路径以及参数,例如:C:PerlbinPerl.
July 18, 2007
在PHP中如何远程链接Mysql数据库?
MySQL是可以远程调用的,但用户要有远程调用的权限。
在增加用户的时候有一个host 选项,是任何主机 或 locahost,你选用 any host,这样,你就可以远程调用了。
mysql_pconnect(“192.168.0.2:3306″,”root”,”password”);