2011-02-09 13 views
6

Używam serwera mamp do testowania wszystkich moich stron internetowych. Jestem nowy w python. Jestem w stanie uruchomić skrypt w pythonowym tłumaczu, który normalnie drukuje świat powitalny.Tworzenie skryptów w języku Python na MAMP

print "Hello World!" 

więc użyłem tej samej linii w pliku z nazwą test.py. Więc jak mam to uruchomić w Internecie.

Jako, że jestem nowy w Pythonie, próbowałem normalnych rzeczy, umieszczając test.py w/htdocs/cgi-bin/i próbując go otworzyć. Ale mówi zakazana strona.

Każdy proszę mi pomóc w wykonaniu tej pracy. Dzięki

+0

Znalazłeś rozwiązanie? – Volatil3

+0

@ Volatil3 chmod +777 test.py pracował dla mnie. – RaviTeja

Odpowiedz

5

Aby to zrobić z CGI, polecam lekturę Python CGI docs. Jako minimum należy wygenerować typ zawartości i znaczniki html:

print "Content-Type: text/html" 
print 
print "<html>" 
print "<head>" 
print "<title>Example of Python CGI script</title>" 
print "</head>" 
print "<body>" 
print "Hello World!" 
print "</body>" 
print "</html>" 

Upewnij się również, że oprogramowanie serwera ma uprawnienia do wykonania skryptu. Powinieneś być w stanie użyć chown, aby ustawić własność i chmod, aby ustawić permissions.

+0

Witam @matt Jestem bardzo nowy w aplikacjach internetowych, więc możesz być bardziej elokwentny, jeśli chodzi o uruchamianie poleceń. Używam serwera MAMP, a mój lokalny host przekierowuje do htdocs /. Gdzie powinienem umieścić plik Pythona i jak uruchamiać komendy chmod? – RaviTeja

+0

@Ravi Teja: Nigdy nie pracowałem nad MAMP; Mam nadzieję, że moje doświadczenie z Linuxem i WAMP jest wystarczające. Ponadto niektóre z nich zależą od konfiguracji, więc konieczne może być dostosowanie następujących elementów w systemie. Umieszczenie skryptu w/htdocs/cgi-bin powinno zadziałać, zakładając, że to jest konfiguracja twojego serwera. Uruchom polecenie chown i chmod z wiersza poleceń; najłatwiej znajdować się w tym samym katalogu, co plik. Polecam wykonanie 'chown apache: apache hello.py', aby ustawić własność pliku na serwerze internetowym (zakładając, że serwer działa pod apache użytkownika). Następnie "chmod u + x", aby umożliwić uruchomienie programu. – GreenMatt

+0

Dziękuję za szybką odpowiedź, więc kiedy próbuję uruchomić komendę chown z terminala przechodzącego do katalogu cgi-bin, dostałem komunikat o błędzie: apache: błędny argument – RaviTeja

1

Wiesz, że to stary post, ale dodam dwa centy.

umieścić moje * skrypty .py w/Applications/mA/cgi-bin

rozpocząć moje skrypty z #!/Bin/usr/python

    print "Content-type:text/html \r\n\r\b" 

potem chmod 755 .py i uruchomić go z ./ .py z cgi-bin katalogu

nadzieję, że to pomaga :)