El system() Función función
El sistema en PHP toma un argumento de cadena con el comando a ejecutar, así como los argumentos usted deseo pasados a ese comando. Esta función ejecuta el comando especificado y vuelca cualquier texto resultante a la secuencia de salida (ya sea la salida HTTP en una situación de servidor web, o la consola si está ejecutando PHP como una herramienta de línea de comandos). El retorno de esta función es la última línea de salida del programa, si emite salida de texto.
La función
El sistema exec() función es muy útil y poderosa, pero uno de los mayores problemas con esto es que todo el texto resultante del programa va directamente a la corriente de salida. Habrá situaciones en las que le gustaría formatear el texto resultante y mostrarlo de alguna manera diferente, o no mostrarlo en absoluto.
Para esto, la función ejecutiva en PHP está perfectamente adaptada. En lugar de vertido de forma automática todo el texto generado por el programa que se ejecuta la secuencia de salida, le da la oportunidad de poner este texto en una matriz devuelta en el segundo parámetro a la función:
El shell_exec() Función
La mayoría de los programas que hemos estado ejecutando hasta ahora han sido, más o menos, programas reales1. Sin embargo, el entorno en el que operan los usuarios de Windows y Unix es en realidad mucho más rico que este. Los usuarios de Windows tienen la opción de usar el programa de símbolo del sistema de Windows, cmd.exe. Este programa se conoce como shell de comando.
El passthru() Función
Una función fascinante que ofrece PHP similares a las que hemos visto hasta ahora es la función de tránsito. Esta función, al igual que las demás, ejecuta el programa que se le indique. Sin embargo, luego procede a enviar inmediatamente la salida sin procesar de este programa al flujo de salida con el que PHP está trabajando actualmente (es decir, HTTP en un escenario de servidor web o el shell en una versión de línea de comando de PHP).
El proc_open() Función y popen() función
proc_open() es similar a popen() pero proporciona un mucho mayor grado de control sobre la ejecución del programa. cmd es el comando que debe ejecutar el shell. descriptorspec es una matriz indexada donde la clave representa el número de descriptor y el valor representa cómo PHP pasará ese descriptor al proceso hijo. las tuberías se establecerán en una matriz indexada de punteros de archivo que corresponden al extremo de PHP de cualquier canal que se cree. El valor de retorno es un recurso que representa el proceso; deberías liberarlo usando proc_close() cuando hayas terminado con él.
Créditos: http://php.net/ & & Chipmunkninja (Enlace no se menciona porque no está funcionando, 404 Error)
También hay 'proc_open()' y 'popen()', que permiten un mayor grado de control sobre el proceso generado. – Christian