Ciao,

via php non puoi in alcun modo, per ovvi motivi di sicurezza, accedere a NULLA che stia sul client utilizzando esclusivamente il browser e/o php

Per fare questo devi utilizzare un software che parta all'avvio del computer e ti faccia da tramite, tramite una socket, con la porta seriale, in modo da bypassare le specifiche restrizioni imposte dai motivi di sicurezza

Per far questo puoi utilizzare qualsiasi linguaggio tu voglia ma sinceramente, dato che si tratterebbe di un applicativo desktop e non di un applicativo web, ti consiglierei C# + .NET 2.0

Ovviamente l'applicativo desktop puoi anche farlo in PHP ma è abbastanza complicato andare a realizzare un servizio per windows che parta, si bindi su una socket, e ti faccia da tramite, soprattutto se non hai mai avuto esperienze di sviluppo in tal senso

Ovviamente per C# c'è già tutto quello che ti serve nel framework, ma se decidessi di usare php per l'applicativo desktop che ti dovrebbe fare da bridge dovresti andare ad usare l'estensione win32std ( http://wildphp.free.fr/wiki/doku.php?id=win32std:index ) per crearti un bell'exe contenente tutto il necessario ed un altra estensione per scrivere servizi per windows.

Alternativamente il servizio puoi anche evitarlo e e scrivi un applicativo che parte allo startup del sistema magari mettendo un icona nella trayicon