Otra opción es armar una dll en c (o lo que creas mejor), y llamarla desde php con
system(),
exec()...De esta menara tendrías mayor control sobre el puerto, aunque desconozco por el "poder" que se tiene hacia los puertos por sockets como dice AmericoOnL.