OK, I've got cgi scripts running perfectly on my NT server. The problem I have is that when I place an order I get the message "unable to read ./orders/16334768" I've read thru all of the similar messages and the article regarding this and have changed the permission to include read, moved the directory out of cgi, removed the ./ from the script, put in the exact path to the orders directory, but to no avail. Any suggestions?
There are two things to check:
1) Make sure that the "scriptpath" parameter of your uShopOrderReaderCGI applet is set to exactly the same value as the "scriptpath" parameter of your uShopOrderCGI applet. This is just to make sure that you are linking to the same script.
2) Based on your "unable to read ./orders/16334768" message, it sounds like you may have left off the leading "U" in the order number. That is, enter the order number exactly as it appears on the order notification email - it will always begin with a "U". So try entering the order number as "U16334768".
Sorry Bill maybe I didn't explain it right. When I click send on the order form it writes the order to the orders directory, but I get the "unable to read ./orders/and whatever the order number is" in IE. My customers see that same error. If I go to the orders folder I can read the order, but how do I keep that error from coming up. I'v tried everything on your troubleshooting guide.
Oh, sorry about that. I guess I mis-read the question.
So you can see that the order files are being written to your "orders" directory? That helps to narrow down the problem to say that:
1) Your path to the "orders" directory is correct.
2) You do have at least WRITE permission on your "orders" directory.
So that means the problem will be either:
1) The "orders" directory does not have READ permissions. Try one more time giving the directory READ permissions ... directly using NT Explorer (as opposed to using the IIS Manager).
2) Otherwise the script may just not have access to read from that directory. This you may be able to correct with some .htaccess file. Either that or you may just have to move your orders directory from being a sub-directory of your cgi-bin. Just be sure that if you do that (and move the "orders" directory outside your cgi-bin) that it doesn't allow regular website visitors from viewing the contents of that directory. See:
for more about that.
I've tried both of those, but get the same error. What is htaccess file?. My website is www.waycoolpaintball.com/store/shop.htm if you want to see the error message you get.
I'm not an expert on configuring NT servers so I can't give exact instructions on how to setup your NT server, but I can tell you that if you are seeing order files written to your "orders" directory....but are still getting the "unable to open order" error, then the problem will be one of the following:
1) The "orders" directory does not have READ permission.
2) The script does not have permission to READ from that directory.
You'll have to consult your NT documentation about setting the permissions on that directory and about control the permissions that CGI scripts run.
3) Or, as one last option that I can suggest, perhaps the unable to read problem is related to the search path on your NT server. You can eliminate this by using a FULL path to your "orders" directory instead of a RELATIVE path. That is, instead of using something like "./orders/" as your orders directory path, try using the full directory path on your NT server which will be something like "d:/users/mydomain/cgi-bin/orders" ... or if you moved the directory out of your cgi-bin, something like "d:/users/mydomain/orders". That would at least eliminate the search path as a possible problem and verify that option 1 or 2 (above) is the problem.
The actual error is Unable to read e:/waycool/cgi-bin/orders/U1918376377. As you can see I have the direct path. I'll check some other things out.