funciona - ¿Cuáles son las diferencias entre system(), exec() y shell_exec() en PHP?
php shell_exec exec (1)
Es posible ejecutar un comando externo mediante tres funciones PHP de
system();
exec();
shell_exec();
pero, ¿cuáles son sus diferencias? A pesar de sus aplicaciones específicas, en la mayoría de los casos, el puede ser utilizado por igual. Tengo curiosidad por saber cuál es el preferido cuando se pueden usar por igual. Por ejemplo, para descomprimir un archivo o comprimir una carpeta (con el comando tar), ¿cuál es el preferido (probablemente desde el punto de vista del rendimiento)?
ACTUALIZACIÓN: En otra pregunta, encontré un link muy útil link describe diferentes aspectos para estas funciones. Comparto el enlace aquí, como otros pueden usar para comprender mejor los problemas de seguridad y otros aspectos.
exec - Ejecutar un programa externo
system - Ejecuta un programa externo y muestra la salida
shell_exec - Ejecuta el comando a través de shell y devuelve el resultado completo como una cadena
así que si no necesitas la salida, yo iría con el ejecutivo.
Más detalles: