Ruby - Hello World Script - Serverfehler 500

cameeel

Erfahrenes Mitglied
Ich versuche mich gerade in Ruby einzuarbeiten und bekomme nicht mal das Hello World Script zum laufen.
Der Server bricht mit einem Error 500 beim Aufruf im Browser ab, warum?
Code:
#!/usr/bin/ruby 
puts "Content-Type: text/html;charset=utf-8\n"
puts "Hello, World"

Besten Dank,
cAm3eel.
 
Was genau ist mit ausführbar machen gemeint? Ich hab halt die Rechte gesetzt, allerdings über ein FTP Programm, über die Konsole hats nicht geklappt...

Wenn ich die Datei über die Konsole ausführe funktioniert das auch alles, nur über den Browser klappts nicht, warum?
Code:
$ ruby .../cgi-bin/hello.rb

Der Thread hilft auch nicht weiter: http://rubyforen.de/viewtopic.php?t=3248

cAm3eel.
 
Hallo,

probiere es mal mit:
#!/usr/bin/ruby
puts "Content-Type: text/html;charset=utf-8\n\n"
puts "Hello, World"
Warum?

In der HTTP-Antwort muss zwischen der Header-Informationen des Servers ("Content-Type: text/html;charset=utf-8") und dem tatsächlichen Inhalt der Nachricht ("Hello World") eine Leerzeile stehen!

Gruss
wadl58
 
Das stimmt soweit, allerdings schickt ein Webserver keinen Error 500, wenn diese Leerzeile fehlt.

Grüße,
Matthias

Falls ich die Leerzeile weglasse dann schickt Apache/2.0.59 (Standardkonfiguration) Internal Server Error 500 zurück (*). Allerdings kann Apache so konfiguriert werden, dass Error 500 mit einer eigenen Fehlermeldung zurückgemeldet wird, was wohl meistens genutzt wird, d.h. Error 500 taucht dann nicht mehr auf, falls diese Leerzeile fehlt.

Gruß
Wolfgang

(*) Im apache_error_log File steht:
"... [error] [client ::1] malformed header from script. Bad header=<HTML>: hello.pl..."
 
Hab den Fehler gefunden: Ich bin ja ein Windows-Benutzer, und aus diesem Grunde haben die Scripte noch immer die vor 30 Jahren abgeschafften Line-endings. Mit einem Converter konnte ich zu den UNIX-Lineendings konvertiern, und schon klappts.

Wikipedia:
On many http://en.wikipedia.org/wiki/Unix systems, the dos2unix and unix2dos commands can be used to translate between ASCII CR+LF (DOS/Windows) and LF (Unix) newlines.

Is aber halt immer ziemlich blöd, jedes mal das Script zu konvertieren bevor man es aufrufen kann.....
 
Eigentlich gefällt mir Aptana ganz gut... vielleicht kann man das da ja irgendwo umstellen, hab ich ncoh gar nicht geschaut.
Hast du sonst eine Empfehlung was einen Editor anbelangt?
 

Neue Beiträge

Zurück