CGI/Perl, SSI, PHP Scripting Questions
Where do
I put my CGI scripts?
On Mercury Server please upload your CGI scripts via FTP in ASCII mode to /var/www/cgi-bin
directory.
On Wildfire Server please upload your CGI scripts via FTP
in ASCII mode to the cgi-bin folder present in the public_html folder.
What is
the path to PERL, home directory, cgi-bin, sendmail, date, etc ?
Perl: /usr/bin/perl
sendmail: /usr/sbin/sendmail
date: /bin/date
cgi-bin: /domains/yourdomainame/public_html/cgi-bin
home directory to upload your files: /domains/yourdomainame/public_html/
Why does
my CGI script give me a Permission Denied error?
CGI scripts need to be set to be executable files. You need to change the mode, or
permissions, of your programs with your FTP program, to be 755, or rwxr-xr-x. Note: A lot
of scripts will instruct you to make your scripts 775 or even 777. This is not good! It
means anyone on the server can write to your script, and since it's an executable file, it
could be used to delete all your files!
What is a
"500 Internal Server Error" ?
This could mean many different things. This could mean there was an error somewhere inside
your CGI script. Look for any "error_log" files in the directory of the failed
script. They may contain information about any problems, mis-configurations or syntax
errors that would lead you to solve the problem. The permissions of the script are also
very important. Be sure to make your CGI scripts' permissions 755 or rwxr-xr-x. Do NOT
make your CGI scripts 777 or rwxrwxrwx. This would mean that any customer on the server
would be able to edit your file. On another important note, if you have information (such
as a password database) that you want protected you should probably set the database to
700 or rwx------ so only you could read them. dmihosting.com currently doesnt offers
cgi-script troubleshooting support, you can leave a message for one of our tech at
support@dmihosting.com, however we can not guarantee that your script error will be taken
care of. One of the most common mistakes which causes this error is when you ftp your
script in Binary mode , make sure that your script is uploaded via ASCII mode only and the
permissions are chmod to 755.
What
version of Perl are you running?
Perl 5.8.5-24.RHEL4
What
version of PHP are you running?
PHP 4.4.2
My PHP is
being called like you recommend, but I still get errors. Why?
Please use text-only editors like NOTEPAD to create and edit your PHP Scripts. Vi and pico
are good alternatives when on UNIX-based systems. Other programs actually add format marks
in the documents, which cause PHP errors.
Why won't
my SSI directives get parsed out of my HTML files?
Your file extension must be .shtml. SSI would consume too many system resources if
every HTML file requested was parsed for SSI directives. For this reason, all files that
contain SSI should have the .shtml extension so they can be parsed.
I can't
get my script to work, can you help me?
We can give you all the server information you need to help you configure your script. Our
technical support staff can NOT look into each script, as there can literally be hundreds
of reasons why a certain script may not be working. We strongly recommend you go through
the "README" file that comes with the script to look for solutions to possible
problems. If you are still having difficulty, contact the programmer who wrote the script.
My script
STILL wont working ?
In creating CGI scripts and getting them to work on a web server, there are a few
key steps that you should ensure have been completed. Follow the steps below to
troubleshoot your CGI script; 1. Use NOTEPAD when you modify your script. Do NOT use other
programs. 2. Ensure the correct paths are called at the top of the script. The correct
module paths for our servers are: Perl: /usr/bin/perl sendmail: /usr/sbin/sendmail date:
/bin/date 3. Ensure that your script is chmod to at least 755. This will allow the script
to be executed on a web server. To chmod a script using FTP, right click on the script and
go to properties and check all the boxes. 4. Ensure each of your scripts are located in
your cgi-bin directory /var/www/cgi-bin and your html calls the correct path to your
cgi-bin. Example http:/yourdomain/cgi-bin/formmail.cgi.
How do I
get a module installed that is not currently listed ?
Just send an email to support@dmihosting.com
with the module name, URL, and if possible, a link to the .tar or .gz file. The review
process can take several days. If it has been more then a week since you submitted your
request, please send a second request. Not all modules are feasible to add to our web
server. Please look for other solutions if a module you want can not be added.
Where can
I find more information on PHP?
Go to http://php.net
Why
doesn't SSI work on my website?
Server Side Include (SSI) commands are executed by the server as it
parses your HTML file. Server side includes can be used to include the value of various
server environment variables within your HTML such as the local date and time. All of our
servers are SSI enabled, all you need to do is call your webpage using .shtml extension
instead of .html. You can use SSI commands to
display what the time and date is when anyone access your website or record their IP
address.
| Comment Tag as HTML |
Browser Output |
| <!--#echo
var="DATE_LOCAL" --> |
Sunday, 06-Jul-2003 13:37:52
CDT |
| <!--#echo
var="REMOTE_ADDR" --> |
202.163.65.3 |
HTML files containing SSI must be named with an .shtml extension.
SSI commands are easy to add to your HTML, but you must follow the syntax exactly:
<!--#command
cmd_argument="argument_value" -->
To Add SSI to your website
1) Simply open any of your existing html page
2) Add the SSI command <!--#echo
var="DATE_LOCAL" -->
between the <body> </body> tags in your HTML.
3) Save that file as filename.shtml (i.e., if your webpage was "about.html",
save it as "about.shtml")
4) Upload the file to the server and call
your that page on your browser (http://www.yourdomain.com/filename.shtml). That's it! If
you did everything right, you will see the time and date on your webpage.
If you have any other questions, the Apache Software Foundation has created the
Apache SSI How-To Visit http://httpd.apache.org/docs/howto/ssi.html
What
permissions should I use?
All scripts, as well as the directories that contain them, must be set CHMOD 755.
Can I use
any CGI script on my Web hosting account?
We allow users to write and run any CGI scripts. However, we reserve the right to disable
any scripts that use heavy resources or are harmful to our servers in any way or are
persistent.
Where can
I find useful scripts that are easy to configure?
http://www.scriptarchive.com
Where can
I find a guestbook script I can use?
http://www.scriptarchive.com/guestbook.html
Where can
I find a Form Mailer script to use?
http://www.scriptarchive.com/formmail.html
Where can
I find a WWWBoard script I can use?
http://www.scriptarchive.com
Where can
I find a Simple Search script for my site?
http://www.scriptarchive.com
What does
the 'premature end of script headers' error mean?
This could be caused by any of the following.
1. Improper permission settings. Make sure you have the
proper permissions set on your script CHMOD 755
2. You should also make sure that you are using a text-only
editor such as Notepad to edit your scripts (on a PC) or SimpleText or BBEdit (on a Mac).
3. Upload your scripts in ASCII and not binary. Failure to do so will result in
your files not executing properly.
I am using FrontPage. Why aren't my .shtml files being parsed
for SSI?
FrontPage creates an ".htaccess" file that includes "Options None"
which disables SSI. Use a text-only text editor such as Notepad or vi to edit the
.htaccess file to say "Options Includes" and SSI will be re-enabled. Doing
certain things in FrontPage later on in development may reverse your changes, so make sure
to keep track of the contents of ".htaccess".
What Perl
modules do you have installed?
Installed Modules |
AnyDBM_FileApache
Apache::Connection
Apache::Constants
Apache::Constants::Exports
Apache::Debug
Apache::ExtUtils
Apache::FakeRequest
Apache::File
Apache::httpd_conf
Apache::Include
Apache::Leak
Apache::Log
Apache::ModuleConfig
Apache::MyConfig
Apache::Opcode
Apache::Options
Apache::PerlRun
Apache::PerlRunXS
Apache::PerlSections
Apache::RedirectLogFix
Apache::Registry
Apache::RegistryBB
Apache::RegistryLoader
Apache::RegistryNG
Apache::Resource
Apache::Server
Apache::SIG
Apache::SizeLimit
Apache::src
Apache::StatINC
Apache::Status
Apache::Symbol
Apache::Symdump
Apache::Table
Apache::test
Apache::URI
Apache::Util
attributes
attrs
AutoLoader
AutoSplit
autouse
B
B::Asmdata
B::Assembler
B::Bblock
B::Bytecode
B::C::Section
B::CC
B::Concise
B::Debug
B::Deparse
B:Disassembler:BytecodeStream
B::Lint
B::Showlex
B::Stackobj
B::Stash
B::Terse
B::Xref
Baz
Benchmark
BIND::Conf_Parser
blib
Bundle::Apache
Bundle::DBD::mysql
Bundle::DBI
Bundle::LWP
ByteLoader
bytes
Carp
CGI
CGI::Carp
CGI::Cookie
CGI::Fast
CGI::Pretty
CGI::Push
CGI::Util
charnames
Class::Struct
Config
constant
CPAN
CPAN::Mirrored::By
CPAN::Nox
Cwd
Data::Dumper
Data::Grove
Data::Grove::Parent
Data::Grove::Visitor
Date::Manip
DB
DBD::ExampleP
DBD::mysql
DBD::NullP
DBD::Proxy
DBD::Sponge
DBI
DBI::FAQ
DBI::Format
DBI::ProxyServer
DBI::Shell
Devel::DProf
Devel::Peek
Devel::SelfStubber
diagnostics
Digest::MD5
DirHandle
Dumpvalue
DynaLoader
English
Env
Errno
Exporter
ExtUtils::Command
ExtUtils::Embed
ExtUtils::Install
ExtUtils::Installed
ExtUtils::Liblist
ExtUtils::MakeMaker
ExtUtils::Manifest
ExtUtils::Miniperl
ExtUtils::Mkbootstrap
ExtUtils::Mksymlists
ExtUtils::MM_Cygwin
ExtUtils::MM_OS2
ExtUtils::MM_Unix
ExtUtils::MM_VMS
ExtUtils::MM_Win32
ExtUtils::Packlist
ExtUtils::testlib
Fatal
Fcntl
fields
File::Basename
File::CheckTree
File::Compare
File::Copy
File::DosGlob
File::Find
File::Glob
File::Listing
File::Path
File::Spec
File::Spec::Epoc
File::Spec::Functions
File::Spec::Mac
File::Spec::OS2
File::Spec::Unix
File::Spec::VMS
File::Spec::Win32
File::stat
File::Temp
FileCache
FileHandle
Filesys::Df
Filesys::Statvfs
filetest
FindBin
Foomatic::DB
Foomatic::Defaults
Foomatic::PPD
Foomatic::UIElem
GDBM_File
Getopt::Long
Getopt::Std
HTML::Entities
HTML::Filter
HTML::Form
HTML::FormParser
HTML::HeadParser
HTML::LinkExtor
HTML::Parser
HTML::PullParser
HTML::Tagset
HTML::TokeParser
HTTP::Cookies |
HTTP::DaemonHTTP::Date
HTTP::Headers
HTTP::Headers::Auth
HTTP::Headers::ETag
HTTP::Headers::Util
HTTP::Message
HTTP::Negotiate
HTTP::Request
HTTP::Request::Common
HTTP::Response
HTTP::Status
I18N::Collate
integer
IO
IO::AtomicFile
IO::Dir
IO::File
IO::Handle
IO::InnerFile
IO::Lines
IO::Pipe
IO::Poll
IO::Scalar
IO::ScalarArray
IO::Seekable
IO::Select
IO::Socket
IO::Socket::INET
IO::Socket::UNIX
IO::Stringy
IO::Wrap
IO::WrapTie
IPC::Msg
IPC::Open2
IPC::Open3
IPC::Semaphore
IPC::SysV
less
lib
locale
LWP
LWP::Authen::Basic
LWP::Authen::Digest
LWP::ConnCache
LWP::Debug
LWP::MediaTypes
LWP::MemberMixin
LWP::Protocol
LWP::Protocol::data
LWP::Protocol::file
LWP::Protocol::ftp
LWP::Protocol::GHTTP
LWP::Protocol::gopher
LWP::Protocol::http
LWP::Protocol::http10
LWP::Protocol::https
LWP::Protocol::https10
LWP::Protocol::mailto
LWP::Protocol::nntp
LWP::Protocol::nogo
LWP::RobotUA
LWP::Simple
LWP::UserAgent
Math::BigFloat
Math::BigInt
Math::Complex
Math::Trig
MIME::Base64
MIME::Body
MIME::Decoder
MIME::Decoder::Base64
MIME::Decoder::Binary
MIME::Decoder::Gzip64
MIME::Decoder::NBit
MIME::Decoder::QuotedPrint
MIME::Decoder::UU
MIME::Entity
MIME::Field::ContDisp
MIME::Field::ConTraEnc
MIME::Field::ContType
MIME::Field::ParamVal
MIME::Head
MIME::Parser
MIME::Parser::Filer
MIME::Parser::Reader
MIME::Parser::Results
MIME::QuotedPrint
MIME::Tools
MIME::WordDecoder
MIME::Words
mod_perl
MY
Mysql
Mysql::Statement
NDBM_File
Net::Cmd
Net::Config
Net::DNS
Net::DNS::Header
Net::DNS::Nameserver
Net::DNS::Packet
Net::DNS::Question
Net::DNS::Resolver
Net::DNS::RR
Net::DNS::RR::A
Net::DNS::RR::AAAA
Net::DNS::RR::AFSDB
Net::DNS::RR::CERT
Net::DNS::RR::CNAME
Net::DNS::RR::DNAME
Net::DNS::RR::EID
Net::DNS::RR::HINFO
Net::DNS::RR::ISDN
Net::DNS::RR::LOC
Net::DNS::RR::MB
Net::DNS::RR::MG
Net::DNS::RR::MINFO
Net::DNS::RR::MR
Net::DNS::RR::MX
Net::DNS::RR::NAPTR
Net::DNS::RR::NIMLOC
Net::DNS::RR::NS
Net::DNS::RR::NSAP
Net::DNS::RR::NULL
Net::DNS::RR::OPT
Net::DNS::RR::PTR
Net::DNS::RR::PX
Net::DNS::RR::RP
Net::DNS::RR::RT
Net::DNS::RR::SOA
Net::DNS::RR::SRV
Net::DNS::RR::TKEY
Net::DNS::RR::TSIG
Net::DNS::RR::TXT
Net::DNS::RR::X25
Net::DNS::Select
Net::DNS::Update
Net::Domain
Net::FTP
Net::FTP::A
Net::FTP::dataconn
Net::FTP::E
Net::FTP::I
Net::FTP::L
Net::hostent
Net::HTTP
Net::HTTP::Methods
Net::HTTP::NB
Net::HTTPS
Net::netent
Net::Netrc
Net::NNTP
Net::Ping
Net::POP3
Net::protoent
Net::servent
Net::SMTP
Net::Time
O
OLE::Storage_Lite::PPS
Opcode
open
ops
overload
Parse::Yapp
Parse::Yapp::Driver
Parse::Yapp::Grammar
Parse::Yapp::Lalr
Parse::Yapp::Options
Parse::Yapp::Output
Parse::Yapp::Parse
Pg
Pod::Checker
Pod::Find
Pod::Functions
Pod::Html |
Pod::InputObjectsPod::LaTeX
Pod::Man
Pod::Parser
Pod::ParseUtils
Pod::Plainer
Pod::Select
Pod::Text
Pod::Text::Color
Pod::Text::Overstrike
Pod::Text::Termcap
Pod::Usage
POSIX
Quota
re
RPM
RPM::Constants
RPM::Database
RPM::Error
RPM::Header
Safe
SDBM_File
Search::Dict
SelectSaver
SelfLoader
SGMLS
SGMLS::Output
SGMLS::Refs
Shell
sigtrap
Socket
Spreadsheet::ParseExcel::Dump
Spreadsheet::ParseExcel::FmtDefault
Spreadsheet::ParseExcel::FmtJapan
Spreadsheet::ParseExcel::FmtJapan2
Spreadsheet::ParseExcel::FmtUnicode
Spreadsheet::ParseExcel:SaveParser:Workbook
Spreadsheet::ParseExcel::Utility
Spreadsheet::ParseExcel::Workbook
SQL::Dialects::ANSI
SQL::Dialects::AnyData
SQL::Dialects::CSV
SQL::Eval
SQL::Parser
SQL::Statement
SQL::Statement::GetInfo
Storable
strict
subs
Symbol
Sys::Hostname
Sys::Syslog
Term::ANSIColor
Term::Cap
Term::Complete
Term::ReadLine::Stub
Test
Test::Harness
Text::Abbrev
Text::ParseWords
Text::Soundex
Text::Tabs
Text::Wrap
Tie::Array
Tie::Handle
Tie::Hash
Tie::RefHash
Tie::Scalar
Tie::SubstrHash
Time::gmtime
Time::Local
Time::localtime
Time::tm
UNIVERSAL
URI
URI::_foreign
URI::_generic
URI::_login
URI::_query
URI::_segment
URI::_server
URI::_userpass
URI::data
URI::Escape
URI::file
URI::file::Base
URI::file::FAT
URI::file::Mac
URI::file::OS2
URI::file::QNX
URI::file::Unix
URI::file::Win32
URI::ftp
URI::gopher
URI::Heuristic
URI::http
URI::https
URI::ldap
URI::mailto
URI::news
URI::nntp
URI::pop
URI::rlogin
URI::rsync
URI::rtsp
URI::rtspu
URI::sip
URI::sips
URI::snews
URI::ssh
URI::telnet
URI::tn3270
URI::URL
URI::urn
URI::urn::isbn
URI::urn::oid
URI::WithBase
User::grent
User::pwent
utf8
vars
warnings
WWW::RobotRules
WWW::RobotRules::AnyDBM_File
XML::Checker::Parser
XML::Checker::Term
XML::DOM
XML::DOM::DOMException
XML::DOM::NamedNodeMap
XML::DOM::NodeList
XML::DOM::PerlSAX
XML::DOM::ValParser
XML::Dumper
XML::Encoding
XML::ESISParser
XML::Filter::DetectWS
XML::Filter::Reindent
XML::Filter::SAXT
XML::Grove
XML::Grove::AsCanonXML
XML::Grove::AsString
XML::Grove::Builder
XML::Grove::Factory
XML::Grove::IDs
XML::Grove::Path
XML::Grove::PerlSAX
XML::Grove::Sub
XML::Grove::Subst
XML::Grove::XPointer
XML::Handler::BuildDOM
XML::Handler::CanonXMLWriter
XML::Handler::Composer
XML::Handler::PrintEvents
XML::Handler::Sample
XML::Handler::Subs
XML::Handler::XMLWriter
XML::Parser
XML::Parser::Expat
XML::Parser::PerlSAX
XML::PatAct::ACTION
XML::PatAct::Amsterdam
XML::PatAct::MatchName
XML::PatAct::PATTERN
XML::PatAct::ToObjects
XML::Perl2SAX
XML::RegExp
XML::SAX2Perl
XML::Twig
XML::UM::SlowMapper
XML::XQL
XML::XQL::Date
XML::XQL::Debug
XML::XQL::DirXQL
XML::XQL::DOM
XML::XQL::Parser
XML::XQL::Strict
XSLoader |
|