perl ingår, ev. måste du installera "developer" paketet.
Sedan är det bara att lägga sina perl skript i cgi biblioteket.
8 svar · 356 visningar · startad av K@llen
Hej hopp,
Sitter och hackar lite i Perl. Verkar vara trevligt språk. Man känner igen sig lite från PHP. :)
Nu till frågan:
Följer Perl med OS X?
Hur får jag igång Perl i OS X?
Räcker det att ändra lite i httpd.conf, precis som när man aktiverar PHP?
Vägledning önskas. :D
perl ingår, ev. måste du installera "developer" paketet.
Sedan är det bara att lägga sina perl skript i cgi biblioteket.
Tack GunnarD. :D
Hittade lite information hur man går tillväga här:
http://www.99mac.se/forum/archive/index.php/t-46335.html
Perl är igång utan att du behöver göra något. Det du behöver är en mapp som Apache tillåter att du kör cgi-skripten i. Standardinställningen är att du lägger skripten i /Bibliotek/WebServer/CGI-Executables/.
När du sedan skriver in adressen till skripten används ett alias, vilket pekar på din skriptmapp. Om skriptet heter skript.cgi och ligger direkt i mappen blir adressen: http://localhost/cgi-bin/skript.cgi
Jag får bara:
Forbidden
You don't have permission to access /cgi-bin/helloworld.cgi on this server.
för adressen: http://localhost/cgi-bin/helloworld.cgi
Måste man skapa det där aliaset på något sätt?
Kanske blir det någon konflikt iom att jag kör PHP på port 80 också?
Vad har skriptet för (unix)rättigheter?
Filen måste vara körbar för alla så prova med kommandot "chmod 755 helloworld.cgi"
Kolla också så att du har rätt sökväg till perl toklen satt i skriptet. Ett enkelt sätt att ta reda på sökvägen är att ge kommandot "which perl".
Aliaset som nämns är att cgi-bin pekar på det biblioteket som man skall lägga sina cgi skript i.
GunnarD skrev:
Vad har skriptet för (unix)rättigheter?
Filen måste vara körbar för alla så prova med kommandot "chmod 755 helloworld.cgi"
Nu har jag 755. osäker på vad det var innan.
GunnarD skrev:
Kolla också så att du har rätt sökväg till perl toklen satt i skriptet. Ett enkelt sätt att ta reda på sökvägen är att ge kommandot "which perl".
Den är rätt dvs: #!/usr/bin/perl
Nu får jag ett annat felmeddelande:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Kod:
#!/usr/bin/perl
print "Content-type:text/html\n\n";
print "<p>Hello world!</p>";
Kolla vad det står i error loggen, filen brukar heta error_log, där brukar det stå mera vad det är för fel.
Detta fel får jag:
error_log skrev:
[Mon Mar 28 10:41:33 2005] [error] [client 127.0.0.1] Premature end of script headers: /Library/WebServer/CGI-Executables/helloworld.cgi
Tack för hjälpen GunnarD. :D
Jag löste det nu. Editorn jag använde sparade nog innehållet i filen konstigt. När jag öppnade filen i Vim fanns det en massa skräp som inte ska finnas med.
Tilläggas kan att man också får avkommentera två rader i httpd.conf:
LoadModule perl_module libexec/httpd/libperl.so
AddModule mod_perl.c
och sedan starta om Apache.