|
| Recent
Articles |
Perl loop causes strange read-only error Ok, folks: I don't understand this. It must have something to do with anonymous arrays in Perl (no, it doesn't, I realize now), but I don't grok the connection.
Continuation Lines There's been a long standing Unix convention of breaking long lines with a "\" to make them...
Whatever, Perl 6 Is On The Way Larry Wall's recent State of the Onion address concerned Perl 6 and the concept of being prepared to do "whatever" in the context of the next version...
The Hidden Loop Programmers use loops to avoid writing repetitive code, but sometimes forget that compilers will unroll their loops when possible for efficiency.
Webmin, Usermin Need Updates The French Security Incident Response Team (FrSIRT) has reported a pair of vulnerabilities in Webmin and Usermin that could be exploited by remote attackers.
Seeing Perl In Google Code Google's release of a code repository for open source projects has a number of languages represented.
Perl Plus Jifty Equals Hiveminder Yes, Jifty is another web application builder, and yes, Hiveminder is another to-do list; but it is Perl that made them possible.
Perl Bootcamp Saddles Up For Germany The next Big Nerd Ranch session of Perl Bootcamp occurs in Germany in September, and will cover Intermediate...
|
 |
 |
|
11.28.06
Help, My Script Isn't Working!
By
T. O' Donnell
Here's a list of tips and tricks to consult at two a.m. when you're trying to put your site to bed and that d*mn script just won't work.
1. Make a note of the error message, and type it in Google. Leave out your unique paths and file names. Someone else has had the same problem, and some nice person will have posted a solution.
2. If it's a server error, repeat what caused the error. Go quickly to the error log on your web hosting control panel. Any clues there?
3. Read the README file. Have it open on-screen when you're setting up the script.
4. Use a text editor like Wordpad or Notepad to edit scripts. Simply put, your editor should not change anything beyond the bare text that you type on screen. Microsoft Word will alter your formatting, with unhappy consequences.
5. Avoid wrapping lines. Check that your editor is not set to do this.
6. Avoid putting characters like " , ' ; in if you don't know what you're doing.
The server may read these as programming code. Apostrophes and other non-alphabet characters can be 'escaped' out of a script by putting a backward slash in front of them.
7. Get the paths to required files correct in the script itself and in the html files involved. Telnet to your site, and use the pwd command: 'pwd somename' (without the apostrophes) to find where directories and programs are on your server.
8. Windows (MS-DOS) may insert carriage returns which cause errors in Unix. In Perl, You need to have a line break after #!/usr/bin/perl. It appears to be there, but you may have to insert it manually via Telnet. Otherwise you may get an error.
9. Permissions: Set permissions of scripts to 705 (e.g. 'CHMOD 705 yourscript.cgi' in a telnet session). CHMOD 606 for text files the script may need to read or write to. CHMOD 707 any file or sub-directory the script author asks you to. The rest can usually be left at the default 644.
(The use of 0 here in permissions is to stop people in the same 'group' as you peeking at your files).
10. Upload scripts in ASCII mode only, or you'll get errors in them (the text will be shifted around if you upload in Binary).
FTP files with the extensions .tar.gz, .zip, and image files, in BINARY mode only.
11. Check whether you've put a trailing forwardslash / where you're not supposed to, or not inserted one when you're supposed to!
12. Email addresses in a script may need a backwardslash before the @ to work.
13. Don't change too many things at once. Do the absolute minimum to get the script working, then change one thing at a time.
14. If you are changing the HTML code of a form page that posts to the script: Clear your browser's cache. You may still be loading an old version of your page, with tags that your script now won't recognise.
Your ISP may also be using its cache of your web page. Try connecting via another ISP, or use a proxy service like http://www.Anonymouse.ws to view your page.
15. The error 'document contains no data' in your browser usually means a path or a file name is wrong. It can also mean the file you're calling is 0 bytes in size.
16. Don't try setting scripts up when you're tired. If you've been working for hours, take a break, or go to bed!
17. It's a fact that, after all this, your script might have a bug. Check any discussion boards at the vendor's website, or general webmaster forums, to see if this is a common problem. Report exactly what problems you're having, and your server set-up, to the programmers. It's unlikely you're the first person to have it.
About
the Author: T. O' Donnell is a credit broker and cynic living in London, UK. |
|