Foros del Web » Programando para Internet » PHP »

PHP exec y Linux

Estas en el tema de PHP exec y Linux en el foro de PHP en Foros del Web. Hola a todos. Recientemente he estado intentando utilizar esta función y ni una sola de las soluciones encontradas por la web es capaz de ayudarme. ...
  #1 (permalink)  
Antiguo 01/04/2013, 07:43
 
Fecha de Ingreso: diciembre-2012
Mensajes: 15
Antigüedad: 11 años, 11 meses
Puntos: 0
PHP exec y Linux

Hola a todos. Recientemente he estado intentando utilizar esta función y ni una sola de las soluciones encontradas por la web es capaz de ayudarme.
Mi problema radica en que esta funcion me funciona "a medias", me explico, si por ejemplo ejecuto
<?php
echo exec("whoami");
?>
me devuelve www-data, lo cual es correcto, pero si por ejemplo ejecuto
<?php
echo exec("ls -l");
?>
para listar los archivos del directorio donde tengo la pagina web, solo me devuelve la primera linea de los mismos
-rwxrwxrwx 1 ____ ____ 46 Apr 1 14:18 index.php~
los demas archivos no me los lista.
Por otro lado, esto que cito, son solo pruebas que he ido haciendo para ver si me funcionaba el comando. Realmente lo que quiero es poder abrir un programa igual que si lo hiciera desde la linea de comandos.
Probrando algo tan sencillo como:
<?php
echo exec("gedit");
?>
la salida que me arroja es:
Run 'gedit --help' to see a full list of available command line options.
Cosa que no entiendo, ya que si ejecuto esa misma linea, este en el directorio que este, me abre una ventana de dicho procesador de textos con un documento vacio, pero desde exec me arroja eso como si el comando fuese incorrecto.
Otro comando que he intentando que tampoco he podido ejecutar ha sido por ejemplo
<?php
echo exec("amixer sset Master 100%+");
?>
que sirve para subir el volumen, y en mi caso, a traves de exec no hace nada de nada.
En cuanto al sutituir exec por system me pasa exactamente lo mismo.
Alguien me puede ayudar? Muchas Gracias.
  #2 (permalink)  
Antiguo 01/04/2013, 09:49
Avatar de Trublux  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 355
Antigüedad: 14 años, 1 mes
Puntos: 48
Respuesta: PHP exec y Linux

Deberías hacerlo así:
Código PHP:
Ver original
  1. exec('ls -l', $output);
  2. print_r( $output );

Estaría bien que consultases la documentación de exec.
__________________
eZ Publish Developer Basic Legacy
eZ Publish Developer Basics (4.4)
Alojamientos rurales en España

Última edición por Trublux; 01/04/2013 a las 09:49 Razón: Añadir un enlace a la documentación de PHP

Etiquetas: exec, linux
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:21.