Hola:
En realidad se hace abriendo el puerto COM como si fuera un fichero y para comunicarse sería también así. Pero claro, esto es muy por encima, ya que evidentemente no se trata de un fichero común y tendrás que enviar los comandos necesarios que comprenda el puerto COM para traer los datos que necesitas:
$fp = fopen ("COM8", "w+");
Afortunadamente hay personas que se acuerdan de los demás y Rémy Sanchez ha creado una librería que hace todo esto precisamente:
http://www.phpclasses.org/package/3679-PHP-Communicate-with-a-serial-port.html
No la he probado, pero he oído que es muy buena. De todas formas, tal vez estas direcciones te ayuden:
http://likepie.net/2012/talking-to-the-com-ports-using-php/
http://www.easyvitools.com/articles/webscript.html
http://php.net/manual/en/book.dio.php
http://php.net/manual/en/function.dio-tcsetattr.php#51509
http://stackoverflow.com/questions/627965/serial-comm-with-php-on-windows
Espero que te sirva. Saludos,
José Manuel Domínguez
==============================
http://www.orbisapientia.com