---
title: "Premature end of script headers + error 500"
type: "forum-thread"
url: "https://www.webforum.nu/amne/perl-ruby/175747-premature-end-of-script-headers-error-500"
topic: "Perl & Ruby"
topic_url: "https://www.webforum.nu/amne/perl-ruby"
author: "Guldstrand"
published: "2008-12-08T00:16:23.000Z"
updated: "2008-12-12T13:45:51.000Z"
replies: 26
views: 2847
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/perl-ruby/175747-premature-end-of-script-headers-error-500"
---

# Premature end of script headers + error 500

_Sida 1 av 2._

## #1 — Guldstrand, 2008-12-08T00:16Z

Får följande fel när jag försöker köra ett cgi script.

> Serverfel!
> 
> Servern råkade ut för ett internt fel och det var inte möjligt att slutföra din begäran.
> 
> Felmeddelande:
> Premature end of script headers: ubr_upload.pl
> 
> Om du tror att detta beror på ett serverfel, vänligen kontakta webbansvarig.
> Error 500

Vad betyder det, och hur löser jag det?
Både filen ubr_upload.pl samt katalogen /cgi-bin har rättigheterna 755.

Permalänk: https://www.webforum.nu/p/175747

## #2 — Guldstrand, 2008-12-08T03:03Z

Jag har följande i vhosts.conf:

> \<VirtualHost \*\>
> 	 ServerAdmin <info@site.org>
>         DocumentRoot "/mnt/www2/site"
>         ServerName site.org
>         ServerAlias <https://www.site.org>
>         ScriptAlias /cgi-bin/ "/mnt/www2/site/cgi-bin/" 
>  
> \<Directory "/mnt/www2/site"\> 
> 	Options Indexes FollowSymLinks +ExecCGI
> 	AddHandler cgi-script .cgi .pl
> 	AllowOverride All
> 	Order allow,deny
> 	Allow from all
> \</Directory\>
> 
> \</VirtualHost\>

Permalänk: https://www.webforum.nu/p/2158759

## #3 — Guldstrand, 2008-12-08T15:05Z

Ingen som vet?

Permalänk: https://www.webforum.nu/p/2158806

## #4 — colione, 2008-12-08T16:19Z

ge mig de tio första raderan i scriptet.

samt:

```
ls -al /mnt/www2/site/cgi-bin/
```

även:

```
which perl
```

Vet du om den kör under suEXEC?
Isf kan det vara en idé att kolla den loggen också. Typ här:
/var/log/apache/suexec.log

Permalänk: https://www.webforum.nu/p/2158823

## #5 — Guldstrand, 2008-12-08T19:45Z

**ls -al /mnt/www2/site/cgi-bin/**

> totalt 44
> drwxr-xr-x  2 root root  4096 2008-12-08 05:56 ./
> drwxr-xr-x 27 root root  4096 2008-12-08 05:39 ../
> \-rwxr-xr-x  1 root root   756 2008-12-08 20:36 1.cgi\*
> \-rwxr-xrwx  1 root root 29004 2008-12-08 05:20 ubr_upload.pl\*

**which perl**

> /usr/bin/perl

(Jag bifogade hela cgi-filen som txt.)

**EDIT:** suEXEC verkar inte vara installerat.

Bilagor:

- [ubr_upload.txt](https://www.webforum.nu/a/19626.txt)

Permalänk: https://www.webforum.nu/p/2158850

## #6 — Guldstrand, 2008-12-08T22:03Z

Är oerhört tacksam för all hjälp jag kan få.  :bire 

Kan "felet" bero på att mina hemsidor finns på en annan hdd som är mountad under /mnt på min master?
(Både mysql, apache, php och annat finns installerat på min "master".)

*Sorry för alla dumma frågor...*

Permalänk: https://www.webforum.nu/p/2158877

## #7 — colione, 2008-12-09T00:57Z

vad säger den om du kör filen från command line?

Permalänk: https://www.webforum.nu/p/2158888

## #8 — nohope, 2008-12-09T05:36Z

Gissar på att perlskriptet körs som annan användare.
Testa sätt 777 på katalogen.

Permalänk: https://www.webforum.nu/p/2158890

## #9 — Guldstrand, 2008-12-09T15:33Z

> **colione skrev:**
>
> vad säger den om du kör filen från command line?

Hur menar du då?

> **nohope skrev:**
>
> Gissar på att perlskriptet körs som annan användare.
> Testa sätt 777 på katalogen.

Det hjälpte tyvärr inte.

Permalänk: https://www.webforum.nu/p/2158946

## #10 — Guldstrand, 2008-12-09T19:17Z

\*bump\*   :r

Permalänk: https://www.webforum.nu/p/2158978

## #11 — Guldstrand, 2008-12-10T03:23Z

När jag körde scriptet direkt i konsolen, fick jag:

> \[root@localhost \~\]# perl -w /mnt/\*\*\*/cgi-bin/ubr_upload.pl
> Can't locate CGI/Carp.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.10.0                                                                             /i386-linux-thread-multi /usr/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_p                                                                             erl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/pe                                                                             rl5/5.10.0/i386-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_per                                                                             l /usr/lib/perl5/vendor_perl .) at /mnt/\*\*\*/cgi-bin/ubr_uploa                                                                             d.pl line 34.
> BEGIN failed--compilation aborted at /mnt/\*\*\*/cgi-bin/ubr_upl                                                                             oad.pl line 34.

Carp.pm **finns** under /usr/lib/perl5/5.10.0/
  :x

**EDIT:** Jag lyckades att fixa "felet" med Carp.pm.
Skapade en test (test.pl), och den fungerade bra att köpa direkt i konsolen.

> \[root@localhost \~\]# perl -w /mnt/\*\*\*/cgi-bin/test.pl
> Content-type: text/html
> 
> Hello, World.

MEN.. jag kan inte köra filen i webbläsaren.

> \[Wed Dec 10 05:35:55 2008\] \[error\] \[client xx.xxx.xxx.xxx\] (13)Permission denied: exec of '/mnt/\*\*\*/cgi-bin/test.pl' failed
> \[Wed Dec 10 05:35:55 2008\] \[error\] \[client xx.xxx.xxx.xxx\] Premature end of script headers: test.pl

Permalänk: https://www.webforum.nu/p/2159033

## #12 — nohope, 2008-12-10T05:32Z

Skickar du korrekt header och skickar du den först innan annat skickas till webbläsare? Har du typ 755 rättigheter på filen? Är sökvägen till perl korrekt?

Content-type: text/plain\\n\\n

Permalänk: https://www.webforum.nu/p/2159034

## #13 — colione, 2008-12-10T07:29Z

Att köra scripten med perl -w innan förtar lite av poängen. Ta bort båd perl och -w och se vad du får för resultat.

Sen kan du ju ven få posta loggen du får på den första filen.

Permalänk: https://www.webforum.nu/p/2159035

## #14 — Fredde Mannen, 2008-12-10T07:43Z

Om man kontrollerar ubr_upload.pl filen så nyttjar den sig av Content-type, ex rad 555.

Så länge  !$print_issued

Men när det kommer till sådana här saker så är det ju lite jobbigare.. "Premature end of script headers", kan ju vara typ vad som helst.. 

Och eftersom att han inte kan göra filen i webbläsaren, detta verkar bero på någon behörighetssak. 

> \[Wed Dec 10 05:35:55 2008\] \[error\] \[client xx.xxx.xxx.xxx\] (13)Permission denied: exec of '/mnt/\*\*\*/cgi-bin/test.pl' failed

När jag kollade lite högre upp så är ägaren av filerna root:  

> drwxr-xr-x 2 root root 4096 2008-12-08 05:56 ./
> drwxr-xr-x 27 root root 4096 2008-12-08 05:39 ../
> \-rwxr-xr-x 1 root root 756 2008-12-08 20:36 1.cgi\*
> \-rwxr-xrwx 1 root root 29004 2008-12-08 05:20 ubr_upload.pl\*

Det hör väl inte till det vanliga! Om man skall köra filerna genom en webbserver.. får servern exekvera en server-side fil som har rooträttigheter så kan mycket lull lull ske om fel person leker på..

Permalänk: https://www.webforum.nu/p/2159038

## #15 — Guldstrand, 2008-12-10T15:34Z

Jag misstänker också att det är något knas med rättigheterna, men hur löser jag det?

> **colione skrev:**
>
> Att köra scripten med perl -w innan förtar lite av poängen. Ta bort båd perl och -w och se vad du får för resultat.

> \[root@localhost \~\]# /mnt/\*\*\*/cgi-bin/
> \-bash: /mnt/\*\*\*/cgi-bin/: is a directory

Permalänk: https://www.webforum.nu/p/2159083

## #16 — colione, 2008-12-10T15:50Z

scriptet heter väl inte cgi-bin?

Permalänk: https://www.webforum.nu/p/2159084

## #17 — Guldstrand, 2008-12-10T15:56Z

> **colione skrev:**
>
> scriptet heter väl inte cgi-bin?

Ooops.. nej det gjorde det inte.
Nu fick jag:

> \-bash: /mnt/\*\*\*/cgi-bin/ubr_upload.pl: /usr/bin/perl: bad interpreter: Ã
> tkomst nekas

Permalänk: https://www.webforum.nu/p/2159085

## #18 — Guldstrand, 2008-12-10T18:11Z

**/etc/fstab**

> \# Entry for /dev/sdb1 :
> UUID=ccd29177-6f08-469f-9a7d-74f655f7defa / ext3 relatime 1 1
> \# Entry for /dev/sdb6 :
> UUID=e12c9c55-4904-4258-b3b1-c9d1d2784e40 /home ext3 relatime 1 2
> /dev/cdrom /media/cdrom auto umask=0,users,iocharset=utf8,noauto,ro,exec 0 0
> /dev/fd0 /media/floppy auto umask=0,users,iocharset=utf8,noauto,exec,flush 0 0
> \# Entry for /dev/sdb6 :
> UUID=0ebb77c4-b774-11db-9c13-8feccf4dad7f /mnt/www ext3 user 1 2
> none /proc proc defaults 0 0
> \# Entry for /dev/sdb5 :
> UUID=09394c37-9248-41ce-b036-ca23a90365fd swap swap defaults 0 0
> \# Entry for /dev/sda5 :
> UUID=bab704db-fd4f-41f7-bb54-1fa2767cec1e swap swap defaults 0 0

Alla hemsidor ligger under /mnt/www på /dev/sdb6.

Permalänk: https://www.webforum.nu/p/2159101

## #19 — colione, 2008-12-10T22:49Z

Har du eiterat filen på en windows-holk? Det kan hända om man har windows line-endings på filen....du skulle även kunna prova att lägga till exec i mount optios i fstaben på /mnt/www samt /

Du kan ju även prova att ladda upp filen igen och tvinga ascii-läge.

Permalänk: https://www.webforum.nu/p/2159142

## #20 — Guldstrand, 2008-12-10T23:18Z

> **colione skrev:**
>
> Har du eiterat filen på en windows-holk? Det kan hända om man har windows line-endings på filen....du skulle även kunna prova att lägga till exec i mount optios i fstaben på /mnt/www samt /
> 
> Du kan ju även prova att ladda upp filen igen och tvinga ascii-läge.

Nej det har jag inte.
Jag laddade upp filen direkt via ftp, och sedan ändrade jag i filen (via ftp).

Ok, ska testa att lägga till "exec".  ;)

**EDIT:** När jag lade till "exec" i /etc/fstab, då mountades inte disken som den skulle, så jag tog bort det igen. \*suck\*
Jag kanske lade till det på fel ställe?   :r

Permalänk: https://www.webforum.nu/p/2159146

---

Tråden på webben: https://www.webforum.nu/amne/perl-ruby/175747-premature-end-of-script-headers-error-500  
Nästa sida: https://www.webforum.nu/amne/perl-ruby/175747-premature-end-of-script-headers-error-500/page2.md
