lscgid: execve(): Exec format error


I added fast cgi handler in perl. Perl scripts were working even when i haven't added anything for cgi. However they were running seperate processes for each request. I configured the external app like this:

Name lsperld
Address uds://tmp/lshttpd/lsperl.sock
Notes Not Set
Max Connections 20
Environment FCGI_PERL_MAX_REQ=500
Initial Request Timeout (secs) 120
Retry Timeout (secs) 0
Persistent Connection Yes
Connection Keepalive Timeout Not Set
Response Buffering No
Auto Start Yes
Command $SERVER_ROOT/fcgi-bin/lsperld.fpl
Back Log 100
Instances 20
Run On Start Up Not Set
Max Idle Time Not Set
Priority Not Set
Memory Soft Limit (bytes) 100M
Memory Hard Limit (bytes) 120M
Process Soft Limit 1000
Process Hard Limit 1100

Next I added a script handler for pl files.

Restarted the server and ran the script. The script still ran in a seperate process. I then removed this line from the top of my perl script "#!/usr/bin/perl" and it gave me this error: "lscgid: execve(): Exec format error"

The server can run .cgi extension files too even though i haven't added cgi extensions as a script handler ? are they added in by default ? How can i run the perl scripts as fast cgi process ?

I have installed the fastcgi module in perl.
Last edited:


LiteSpeed Staff
turn on debug logging and check error.log for configuration problem. Looks like your script is still configured to run as cgi, if you use LSWS with Apache httpd.conf, make sure "pl" is not configured to run CGI script. just remove related configuration.