Delphi支持Apache吗?以为太多病毒攻击IIS了,不敢用(50分)

  • 主题发起人 主题发起人 大海无量
  • 开始时间 开始时间

大海无量

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]使用php写网站太慢了,不爽---但我不知delphi是否能写出支持apache的网页,各位,多谢了
 
D6上说可以,可以开发APACHE的模块,不过我没做过。。那位做过也告诉我一声..[:)]
 
To goddy:“不会吧”的意思是?
 
我只用过ASP,听说PHP在开发上还是比较快的。ASP,JSP,PHP等是嵌入语言编程,而用
Delphi做网站实际上是一个可执行程序(EXE或DLL)来做产生页面、页面数据交互等工作,
从执行效率上来说,Delphi做的程序比那些解释性语言的高很多,但从开发效率来说却
未必这样,由于真编译程序与嵌入式脚本程序的本质差别,后者更容易修改和调试。
Delphi 6中提供的Apache模板也是生成DLL文件,我不太清楚Apache DLL文件的使用,但
如果它不能像COM+那样管理组件(手工启动或关闭)的话,我看要少用为宜(调试修改太
不方便)
如果你有兴趣,看一下这个贴子:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=573246
 
吃鱼总会沾腥的,我觉得iis也挺好。
 
php写网站,快!
 
试试JSP,爽!
 
答案是可以!!下面是转贴自窑洞的一个帖子:
用delphi6+Apache 开发动态网站(一)
-------创建一个简单的网页

随着Internet 的飞速发展,动态网页的开发方法五花八门,有ASP,JSP,PHP,CGI等等,其中web server主要
集中在IIS,Apache等上,MS 的IIS 以其强大的功能吸引了很多的开发者,ASP 是IIS 上用的最多的网页开发
方法,可是ASP 对开发非MS 产品的数据库程序时,简直就是一场恶梦,同时IIS 的漏洞越来越多,系统管理员
每天都得注意最新的漏洞补丁,否则不是被黑客攻翻就是被病毒感染,最近的redcode,bluecode,nimda就是例子。
具有速度快,安全性好,跨平台而且是完全免费的apache http server吸引了越来越多的开发者,而borland 新推
出的delphi6 开始支持Apache,功能强大的delphi 和 快速安全的apache 是一对非常好的动态网站开发方式,而且
delphi6 的工程源码几乎不用动就可以用kylix 编译,并在lunix 下的apache 上运行,厉害吧,动手吧,让
我们开始做一个简单的网页吧!
1.环境设置
先从http://www.apache.org 上下载apache http server for windows 版,最新的版本是1.3.22,
然后安装到服务器上,调试阶段最好现在本机上安装,反正apache 支持win9x:),安装完毕后,在IE里面输入
http://localhost,会正常显示apache 默认页,说明安装成功!
2.现在打开delphi6 ,点菜单file-new-other,在new页里面选web server aplication,出现下面图片
选择Apache shared Module(DLL),系统就会建立一个空的工程.把工程另存为test,unit1另存为wmp.pas.
delphi 就会生成以下的工程代码
library test;

uses
WebBroker,
ApacheApp,
wmp in 'wmp.pas' {WebModule1: TWebModule};

{$R *.res}

exports
apache_module name 'Project1_module';

begin
Application.Initialize;
Application.CreateForm(TWebModule1, WebModule1);
Application.Run;
end.
把'Project1_module' 改为'test_module'

然后在applicaiotn.Initilize 后面加入一下代码(很重要),
ModuleName:='test_module';
ContentType:= 'test-handler';
以上是让apache 加载dll是用的,如果与apache 的配置不一样的话,是无法运行的.
然后设置WebModule1的name 为wm(这仅仅是为了以后编程简单^_^),
打开wm的actions,出现一个editing wm.actions窗口,点击add new,出现一个新的item,
设置其name 为index,pathinfo 为/index,default 为true,
然后到events 页双击onaction
code editor出现一下代码:
procedure Twm.wmindexAction(Sender: TObject; Request: TWebRequest;
Response: TWebResponse; var Handled: Boolean);
begin

end;

加入一下代码
procedure Twm.wmindexAction(Sender: TObject; Request: TWebRequest;
Response: TWebResponse; var Handled: Boolean);
const
chweek:array [1..7]of string[2]=('日','一','二','三','四','五','六');
var
s:string;
yy,mm,dd:word;
begin
decodedate(date,yy,mm,dd);
s:='今天是'+inttostr(yy)+'年'+inttostr(mm)+'月'+inttostr(dd)+'日';
s:=s+' 星期'+chweek[dayofweek(date)];
s:=s+'〈/font〉 欢迎你访问delphi窑洞!';
Response.content := s;
end;

end;

OK! 编译,如果按F9 会出现错误!(因为它是个DLL呀!)

把编译出来的test.dll 拷到apache 目录下的modules目录
然后用文本编辑器打开apache 目录下的conf目录里面的httpd.conf
最上面加入一下文本
LoadModule test_module "C:/Program Files/Apache Group/Apache/modules/test.dll"
〈Location /test〉
SetHandler test-Handler
〈/Location〉
如果httpd.conf 里面的ClearModuleList 前面没有# 的话,一定要加上!!!!
现在先stop apache server,然后再start apache server
在IE 里面输入http://localhost/test
怎样出来了吗?
浏览器里面是不是显示
今天是2001年10月30日 星期二 欢迎你访问delphi窑洞!
如果你看到这样的话,那么你成功了!
还算简单吧!
 
同意楼上的!
 
问题的关键在于Apache的配置,是吧?
bluely,能把你测试成功时的apache的配置文件httpd.conf发给我么?
myemail:QCHuangChao@fm365.com
分数好说?:)
 
多人接受答案了。
 
后退
顶部