Título: ¿Como ejecutar shell script (bash) desde PHP? Publicado por: lipman en 9 Enero 2012, 16:19 pm He probado de todo, con los comandos de system, shell_exec, y exec.
Me funcionan perfectamente si lo que tengo ejecutándose es una linea, del estido de 'echo hola > asd' y demás. El problema es que yo quiero ejecutar un archivo .sh entero, y no sé como. He buscado y no he dado con la solución que me funcione. Alguien sabe cómo? Si poneis algo, por favor probadlo, porque como digo, he encontrado varias soluciones y ninguna me ha funcionado, osea que copiar soluciones de otro sitio no me vale, solo si lo habeis probado antes xD. El sh que estoy intentando ejecutar y no me va es muy simple: programa.sh echo "hola mundo" echo "hola" > rofl A ver si hay suerte, un saludo y muchas gracias! Título: Re: ¿Como ejecutar shell script (bash) desde PHP? Publicado por: Shell Root en 9 Enero 2012, 21:49 pm BASH:
Código PHP: Código SALIDA: Código
Título: Re: ¿Como ejecutar shell script (bash) desde PHP? Publicado por: ~ Yoya ~ en 9 Enero 2012, 23:35 pm Deberías utilizar la función system() (http://), ya que esta también muestra la salida, en cambio al utilizar exec() (http://www.php.net/manual/es/function.exec.php), solo se ejecuta el programa.
programa.sh Código
Nota: En la primera linea, indico donde se encuentra el interprete de bash. A al ejecutar el script en bash, no es necesario indicarle que es un script en bash, con un simple ./bash basta. index.php Código
Código
Saludos. Título: Re: ¿Como ejecutar shell script (bash) desde PHP? Publicado por: lipman en 10 Enero 2012, 10:39 am Vale, se me olvidó decir un detalle sorry... Necesito que se ejecute desde el navegador, no desde la consola =)
Título: Re: ¿Como ejecutar shell script (bash) desde PHP? Publicado por: Shell Root en 10 Enero 2012, 11:04 am Es igual, o en que te falla?
Título: Re: ¿Como ejecutar shell script (bash) desde PHP? Publicado por: lipman en 10 Enero 2012, 15:36 pm He probado ambas cosas, y nada, osea, no sé en que me falla, no me sale ningún error, ninguna salida.
Si pongo esto: Código Si que me funciona, me saca por pantalla "hola". Pero el programa sh no me funciona. Incluso he probado a hacer un exec con varias lineas, y tampoco va: Código
Salida: "hola" Un saludo Título: Re: ¿Como ejecutar shell script (bash) desde PHP? Publicado por: ~ Yoya ~ en 10 Enero 2012, 15:44 pm Ps a mi me funciona tanto en el navegador como en la consola, supongo que el error puede ser por alguna propiedad del php.ini o no tengas permisos suficientes para crear archivos en el dir que estas utilizando.
Saludos. Título: Re: ¿Como ejecutar shell script (bash) desde PHP? Publicado por: lipman en 10 Enero 2012, 16:45 pm Lo de los permisos no creo que sea:
-Puedo ejecutar el programa.sh directamente desde la consola (cygwin) y me crea el archivo correctamente -Tengo puesta la carpeta htdocs donde está el index del server como 777 -Tengo puesto a 777 programa.sh y el index.php Con respecto lo del php.ini, que yo sepa el problema suele ser el "safe_mode" y lo tengo en off. Osea yoya, lo que me estás diciendo es que exáctamente lo que tú has puesto, te funciona ejecutándolo desde el navegador? Me voy a tener que preocupar entonces... Título: Re: ¿Como ejecutar shell script (bash) desde PHP? Publicado por: ~ Yoya ~ en 10 Enero 2012, 23:22 pm sip a mi me funciona...
Título: Re: ¿Como ejecutar shell script (bash) desde PHP? Publicado por: mokoMonster en 24 Enero 2012, 15:51 pm Lo de los permisos no creo que sea: -Puedo ejecutar el programa.sh directamente desde la consola (cygwin) y me crea el archivo correctamente -Tengo puesta la carpeta htdocs donde está el index del server como 777 -Tengo puesto a 777 programa.sh y el index.php Con respecto lo del php.ini, que yo sepa el problema suele ser el "safe_mode" y lo tengo en off. Osea yoya, lo que me estás diciendo es que exáctamente lo que tú has puesto, te funciona ejecutándolo desde el navegador? Me voy a tener que preocupar entonces... En que servidor lo tienes? Saludos |