Hacer que PHP ejecute un script de Python

Estoy intentando ejecutar un progtwig de Python usando PHP. Aquí está el código

$command = '/usr/local/bin/python script.py file'; $temp = exec($command, $output); 

Esto funciona a través de la línea de comandos, pero no mientras se ejecuta a través del navegador. Estoy usando Apache, entonces probablemente necesita los privilegios correctos. Soy bastante nuevo en Linux y no tengo idea de cómo hacerlo funcionar.

¡Cualquier ayuda sería apreciada!

Editar 1:

proc_open usar proc_open pero no proc_open nada. Di el camino completo al guion. Hizo el script ejecutable pero sin suerte. ¿Alguna otra cosa que pueda probar en el servidor? (Es un CentOS 5)

Debe pasar la ruta completa al script y también debe asegurarse de que el script pueda leerlo el usuario que ejecuta el servidor web (lo que significa que cada directorio en la ruta debe ser + x para el usuario web).

Se dio cuenta de lo que estaba mal:

  1. El dominio se configuró como un host virtual y se habilitó el modo_seguro de PHP. proc_open, exec, system, passthru, etc. no funcionan bajo safe_mode, supongo.

  2. Coloque la secuencia de comandos en el directorio accesible por el vhost. Apache no pudo acceder a los directorios fuera de la raíz del documento vhost.

¡Gracias por la ayuda!

Pocos puntos de control

  • script.py debe pasar la ruta completa, por ejemplo, /home/abhinav/script.py
  • script.py debe ser ejecutable, chmod +x script.py

Para que mi ayudante de CodeIgniter ejecutara un script de python, tuve que poner #! / Usr / bin / python en la primera línea de mi script de python, y NO invocar a python del ejecutor.

+1 para hacer también chmod + x

Mi ayudante se ve así:

 < ?php function scrape($site, $key, $user_id) { $cmd = str_replace('system/','',BASEPATH).APPPATH."python/spider.py -u $site -k $key -i $user_id"; $resp = exec($cmd, $out); return $out; } ?>