Calling python scripts from php

Cameron Laird claird at lairds.us
Sat Mar 5 10:08:06 EST 2005


In article <4226f587$0$6162$afc38c87 at news.optusnet.com.au>,
Michael Livingston <mick_livingston at hotmail.com> wrote:
>Hi all,
>
>I'm currently working on a project to develop an online simulation model of
>the juvenile justice system in Queensland.  We've developed the simulation
>model using the python module simPy and currently we're trying to link the
>simulation model to a web interface.  Unfortunately, the web interface and
>its interactions with the database have been separately developed in PHP and
>ASP.  Rather than rebuilding the web interface using python, we're looking
>for an easy way to call a python script from within PHP.  In particular,
>we'd like to have the script called but, as running the model can take some
>time, we'd prefer if the browser didn't have to sit and wait while the
>script was running (instead, we intend to notify the user via email when
>their model has completed).  So all we really want to do is start the script
>off and running (it's a simple call to a python method).
>
>If you're particularly interested in helping me out and if I've not been
>entirely clear, you can go to:
>
> http://210.49.85.147:8000/justicemodel/login.php
>
>and log in using the user name: temp and the password: pass, select a model
>and go to the workspace - the button 'run model' is what we want to trigger
>the python script, while all the rest of the website (setting up the model
>scenarios, viewing output etc etc) has been developed in php and asp.  Any
>assistance anyone can offer me would be greatly appreciated.
			.
			.
			.
I'm sure there's a satisfactory solution.  I'd be happy to work
with you, even on a professional basis.  It might be quite simple
...  To make any progress, I or anyone helping you through
comp.lang.python will need to understand clearly your description.
When you write, " So all we really want to do is start the script
off and running (it's a simple call to a python method)", do you
realize that's more of a PHP then Python question?  The answer
is messy (from a Python perspective), but certainly feasible.  I
assume your server is a Win* host; Unix would be easier.  Briefly,
you need to exec("start ...") (or even system("exec ..."), if you
prefer), and to do so successfully you'll probably need to adjust
the configuration of your PHP installation.



More information about the Python-list mailing list