Habilita el reporte de errores, para asegurarte que no hay ningún error en el código.
Y intenta comprobar que devuelve exec cuando se ejecuta, no creo que cueste tanto hacer una prueba con algo como esto
Código PHP:
Ver originalecho 'echo antes de exec <br/>';
echo "<pre>$salida</pre>";
echo 'echo despues de exec <br/>';
Para ver que devuelve y que se ejecuta.
Y ten en cuenta las notas del manual
Cita: Nota:
Esta función puede devolver NULL cuando ocurre un error o cuando el programa no produce ninguna salida. No es posible detectar los fallos de ejecución usando esta función. exec() debería usarse cuando sea necesario el acceso al código de salida del programa.
Igualmente asegúrate que no hay algún requerimiento concreto para poder utilizar exec, por ejemplo si php se ejecuta en modo seguro exec esta deshabilitado.