Pero .. los "puertos" que se refiere nuestro amigo son de tipo "RS-232C" o "Paralelo" .. (o USB?) .. PHP en ese caso y por "sockets tipo TPC/IP" no puede controlarlos directamente.
Una opción sería la que plantea nicolaspar (con una aplicación externa y llamada desde PHP) o bien del lado del "cliente" algo tipo ActiveX o Applet Java.
Un saludo,