escapeshellcmd
passthru
Program execution Functions
PHP Manual

# exec

(PHP 4, PHP 5)

exec — Ejecutar un programa externo

### Descripción

string exec ( string `$comando` [, array `&$salida` [, int `&$var_retorno` ]] )

exec() ejecuta el `comando` dado.

### Lista de parámetros

`comando`

  El comando que será ejecutado.

`salida`

  Si el argumento `salida` está presente, entonces la matriz especificada será llenada con cada línea de la salida del comando. El espacio en blanco extra, como \n, no es incluido en esta matriz. Note que si la matriz ya contiene algunos elementos, exec() anexará sus resultados al final de la matriz. Si no desea que la función anexe los elementos, use unset() sobre la matriz antes de pasarla a exec().

`var_retorno`

  Si el argumento `var_retorno` está presente junto con el argumento `salida` , entonces el status de retorno del comando ejecutado será escrito en esta variable.

### Valores retornados

La última línea de los resultados del comando. Si necesita ejecutar un comando y tener todos los datos desde el comando pasados directamente de vuelta sin interferencia alguna, use la función passthru().

Para obtener la salida del comando ejecutado, asegúrese de definir y usar el parámetro `salida` .

### Ejemplos

Example #1 Un ejemplo de exec()

`<?php
// imprime el nombre de usuario que tiene control del proceso php/httpd activo
// (en un sistema con el ejecutable "whoami" disponible en la ruta)
echo exec('whoami');
?>`

### Notes

Warning

Si se va a permitir que datos provenientes del usuario sean enviados a esta funcion, habria que utilizar escapeshellarg() o escapeshellcmd() para asegurarse que el usuario no intenta engañar al sistema para que ejecute comandos arbitrarios.

> Note: Si arrancamos un programa con esta funcion y queremos dejarlo ejecutandose en segundo plano, hay que asegurarse que el resultado del mismo es redireccionado a un fichero u otra salida o PHP se parara hasta que la ejecucion del programa termine.

> Note: Cuando safe mode esta activado, solamente se pueden ejecutar los programas que se encuentren en safe_mode_exec_dir. Por razones practicas, no se permite el uso de .. en el PATH del programa.

Warning

Con safe mode activado, todas las palabras que siguan al comando inicial son tratadas como un solo argumento. Asi, echo y | echo x se interpreta como echo "y | echo x".

### Ver también

- system() - Ejecutar un programa externo y mostrar su salida
- passthru() - Ejecutar un programa externo y mostrar la salida pura
- escapeshellcmd() - Escapar meta-caracteres del intérprete de comandos
- pcntl_exec() - Ejecuta un programa específico en el espacio de proceso actual
- operador de comilla invertida

escapeshellcmd
passthru
Program execution Functions
PHP Manual