
yapp
User
Oct 15, 2001, 12:05 AM
Post #1 of 1
(184 views)
|
|
Solution to IIS relative paths, compatible though
|
Can't Post
|
|
OK, I've posted this code is some otehr topics aswell. I think it's very important everone knows about this. Most comlex scripts fail running under IIS with relative paths or require 'file' files. Most of the time, a 'can't locate at @INC', or 'file not found' message appears (or is written in the error log). This is because the current directory in IIS is the WWW-root. I've seen a solution to this problem in the code of a different BB system. Here it is:
BEGIN { $THIS_PATH = 'current-directory-you-specified'; if($ENV{'SERVER_SOFTWARE'} =~ /IIS/) { push @INC, $THIS_PATH; chdir($THIS_PATH); } } ... # This all works now!!! require 'morecode.pl'; open('file.txt') or die .... Hope it helps... (well, it worked for me) P.S. Currently, I'm developing a bunch of mudules for this. XProgramming::CGI::Location; // auto detects location of CGI + IIS bugfix XProgramming::CGI::ErrorTrap; // handle errors better, with personal dialogs XProgramming::CGI::Template; // template parser And so on. They are not available as single download at this moment, but they have been includes in the source code of my own forum, available from http://www.cool-programming.f2s.com
|