-
Notifications
You must be signed in to change notification settings - Fork 6
More about the internal server
The shebang line
The shebang line is the first line of the script that calls perl. It looks something like
#!/bin/perl
On all servers, it is required that it points to a valid path to perl. You should check out with your web host to see what the exact path is, since it will be required when uploading.
But you don't need to change it on each script; OptiPerl will do it automatically when uploading if this is setup in the remote transfer sessions.
However when using the internal server, this line can point to anything, because it is not used. The internal server knows when to load perl by the file extension, and this can be setup if needed from "server associations".
Strange headers and 500 errors
On a production server, if you upload and something is wrong with your script, you get a "500 error" page when running it. If you are lucky enough to have access to the servers error logs then you can see what was wrong. Another issue is when warnings occur before the header is printed. They are not shown anywhere, but they might pose a security risk.
OptiPerl's internal server on the other hand never gives a 500 error, and never swallows a warning message in the header. Actually it will try to analyze the output and tell you what is wrong. You can identify this easily when running, from the yellow box that appears on top of the output:
If the error is fatal, then this will be the only output. You may also get the full output, plus a warning box about a strange field in the header. This will probably be a warning message from one of the modules the script uses.
Remote debugging via loopback
The internal server is optimized for this work. Read more about Remote debugging.
Access and error logs
The internal server does not generate access and error logs, like most servers do. Instead it prints every request and response plus details of what it does in the "server talk" tab of the web browser.