Troubleshooting

Problem: Apache Malfunctions in Windows 2000
Solution:
  • Apache has not actually been ported to Win2K. If it works at all, it's thanks only to Win2K's similarity to NT. The Apache people do these ports grudgingly.
  • Apache runs fine on NT but we have seen problems on Win2K.
  • We have installed Apache on Win2K and seen it work perfectly, immediately following installation, without tinkering or tweaking.
  • We have also seen it fail and refuse to run even with lots of tinkering and tweaking. We don't understand why but can suggest some things to try if this happens to you.
  • Try setting the ServerName in httpd.conf and restart Apache.
  • Try accessing the new website by IP number (e.g. http://192.100.68.5) instead of by hostname (e.g. http://www.keller.com)
  • DHCP may be getting in the way. If your site uses DHCP there's not much you can do about this.
Problem: IE Mis-Handles Text/Plain
Solution:
  • We have observed that IE (not Netscape) mis-handles files with a MIME type of text/plain.
  • The browser should simply display text/plain as plain text. However, sometimes IE instead asks whether you want to save the file or open it and, if open, with which program.
  • Netscape decides how to handle data by looking up its MIME type. Thus, if the MIME types are configured correctly, Netscape handles text/plain files correctly.
  • IE uses a more complex algorithm. It appears to base its decision primarily (but not entirely) on the filename extension and the associations thereto, defined in the operating system's registry. However, the MIME type is not always ignored. The interaction of these factors is complex.
  • In NT, fix this problem by opening NT Explorer -> View -> Options -> File Types. Find Text Document in the list. The MIME type field is probably blank. If so, click Edit and enter text/plain in the MIME type field.
  • Now, IE should handle this MIME type correctly.
Problem: CGI File Types in NT
Solution:
  • We once fixed a problem in which NT failed to display the output from Perl CGI scripts under Apache.
  • Solution: as above, open the File Types dialog in NT Explorer. Find the CGI File definition. Its MIME type is probably blank. Set it to text/plain.
Problem: Neither of the Above Solve Your Problem
Solution:
  • If you're desperate, modify your CGI scripts to return MIME type text/html instead of text/plain.
  • This will always work... but your text will lose its formatting.
  • To preserve text formatting, insert <pre> tags in your generated web pages.
Problem: Missing Shebang in Perl Scripts in NT
Solution:
  • Ordinarily, only Unix requires shebang lines in Perl scripts, usually like #!/usr/bin/perl
  • However, we have found that, under Apache on NT they are sometimes needed for the scripts to execute properly.
  • Compared to the Unix environment, the syntax is looser; both forward- and backslashes appear to work, drive letters and colons appear to work, too, and Perl does not appear to mind embedded spaces in directory names such as:
    #!C:\Shared Programs\Perl\bin/perl.exe
Try this, too...
Windows NT and 2000 have a useful command:
netstat -a

Disclaimer: We do not vouch for any of this without rigorous testing... but these are experiments to try if you're having problems.


Back Home Curriculum Contents
http://www.keller.com/perlweb/troubleshooting.html
Updated Sunday, 19-Mar-2006 14:58:35 CST

Copyright © 2000
Dan Keller Technical Services
4500 19th St., San Francisco
California, USA 94114
tel: 415 / 861-4500