up vote 1 down vote favorite
1
share [g+] share [fb]

I started python -m SimpleHTTPServer on one computer on lan and used wget to download php files from it to another. As far as i see, they seem to be downloaded correctly - i got php sources instead of html layout. Why? Is this because this server doesn't execute php? When i was downloading i was worried that i'll download just html layout results instead of php source...

link|improve this question

62% accept rate
feedback

3 Answers

up vote 4 down vote accepted

Yep, a simple server like Python's doesn't execute PHP. Even something like Apache wouldn't execute PHP either, unless you specifically told it to (which involves installing mod_php).

Technically, as far as the web server is concerned, everything is just a downloadable file unless you (the configurator) tell it otherwise.

link|improve this answer
feedback

SimpleHTTPServer module just serves files. To parse the php files you need one of the "big" http servers, for example apache or lighttpd, with the proper module (mod_php) or cgi to parse the php code and give you the html output of it

link|improve this answer
feedback

This may work :)

#!/usr/bin/env python
from BaseHTTPServer import HTTPServer
from CGIHTTPServer import CGIHTTPRequestHandler
serve = HTTPServer(("",8080),CGIHTTPRequestHandler)
serve.serve_forever()

php file:

#!/usr/bin/php
<? phpinfo(); ?>

dont forget to chmod +x on the php script.

link|improve this answer
that's for making php script execute? very interesting, +1... – Phil Aug 27 '09 at 19:00
Didn't get it. Where do I write this script? I've done a lot of PHP CGI, but no python CGI, so please tell me how to do it. Thanks. – user46472 Aug 25 '10 at 4:55
It is possible to instantiate CGIHTTPServer directly, it will execute CGI scripts from the cgi-bin subdirectory by default. – halp Oct 22 '10 at 8:51
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.