急!急!急!急!! 礼拜天上午9:00前有效! -- by cAkk(100分)

  • 主题发起人 主题发起人 cAkk
  • 开始时间 开始时间
C

cAkk

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi做了一个CGI,执行中需要在当前自己目录下写文件,可是
现在无法创建文件了, 在别的机器上都可以通过,如果在server上直
接执行该exe文件,就可以成功创建文件.

在别的机器上全部通过,我怀疑是NT没装好,因为装机器的人对NT不是
很熟. 有没有其他的可能????

BTW:有时返回一个错误信息: IOerror 183.


本问题礼拜天上午9:00之前有效.
 
补充: 环境IIS4_SP5
 
ioerror 183 是不能创建已经存在的文件
 
是吗? 不过我当时把原先的文件删除也不行的. :-(
 
权限够吗,我的意思是:目录让写吗? 
 
是server自己硬盘上的CGI程序,在自己的目录下写文件,应该不存在权限问题吧?
 
抱歉,比较急,所以提到前面来.

没有人遇到类似情况吗? 实在不行我只好重装NT了.可万一装了之后还不行...
 
我没见过:(
我也觉得是权限问题:(
看看CGI-EXPERT的FAQ好象提到的。
重装估计用处不到
看看IIS的设置吧,另外,写到其它目录看看。
别急
 
可是,CGI执行的时候,不就相当于本地机器上的一个exe执行吗?
难道它不应该具有所有权限吗?

而且,如果我在server上直接执行这个cgi exe, 是可以写文件的,说明
它具有所谓的权限呀!
 
你也太...了
害我进不来。
好象有点不一样的,试试吧,用不了多少时间,主要是IIS的设置
因为CGI是在IIS下执行的。
 
下午我已经将CGI-BIN目录设置成可以写入,还是不行.
害的IIS还向我警告了半天,说这样设置很危险.
 
不是这个。有 CGI 权限什么的吗?
我现在的IIS起不来,唉,能起来的那个硬盘坏了。没法帮你试
往其他目录里写呢(EVERYONE FULL CONTROL的)
 
当然有,因为CGI确实运行了.我这个程序并不仅仅是写文件,还有其他的一些
计算什么的(就是我前几天说的那个"网上报税"的程序).

EVERYONE FULL CONTROL应该是相对与局域网内的网上邻居的吧? 和本机的CGI无关?
 
NTFS权限!
不过我觉得还是IIS的事。
 
我先下了,还得去加班,晚上再来.
 
问题解决了,原因你们谁也想不到,现在公布出来,也许能给你们一点经验:

我有一个CGI程序,放在 inetpub/wwwroot/cgi-bin下面,在这个程序里面
需要在"<font color=red>当前目录</font>"下写文件,比如:

assignfile(f,'test.txt');

请问大家,当CGI执行的时候,"当前目录"指的是哪个目录?

-- CJ跳起来说:"是cgi-bin这个目录呀!"

-- 错!答案是不一定!!

当我在自己机器上调试的时候,该IIS将当前目录的确理解为cgi-bin,
可是当我在税务局的机器上(和我机器配置一样)调试时,那个IIS将
"当前目录"理解为<font color=red><strong> wwwroot</strong></font> !!!

不可思议吗? 所以说,我上面提问题时,实际上文件已经生成了,而只是
写到了上一级目录里,我没有发现.....&^$%&^$^#%^#%^

幸亏我后来发现了这一点...否则不知道还要重装几次NT....:-(

我将这个问题再放一天,让更多的人看一看,以后碰到类似情况也好有个对策.






 
那是你悟道:
>可是现在无法创建文件了
无法创建和创建了找不到好象区别不小
>在别的机器上全部通过,
??
>BTW:有时返回一个错误信息: IOerror 183.
创建了已存在的文件:(
>是吗? 不过我当时把原先的文件删除也不行的. :-(
你也找的到?:-)

其实这个我早晓得的,我还以为你自己判断目录的说:)
我问过关于目录的问题呀:)
 
呵呵, 那是iis的小bug而已:-)
不过, iis的执行权限是根据缺省权限登录的, 而缺省是IUSER_XXXXX, 所以如果你
要写入的目录不是everyone或包括iuser_xxxx读写的话, 会出错的.
这是pws下没有的问题:-)
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部