De cualquier forma puedes interactuar mediante sockets, ahora si el programa esta en ejecucion:
Si es c o variantes usa pipes
Si es java usa jgroups
Si es python usa rpyc
Etc...
Lo de ejecucion está dado ya que php para interactuar con programas externos lo hace mediante comandos y este debe ejecutar el programa para obtener el output, entonces tocaría un intermediario
Las funciones para interactuar con programas externos son
system exec passthru
Lee las documentaciones
Saludos