Grundsätzlich gibt es zwei Möglichkeiten: Entweder kontaktiert der PHP-Server dein C#-Programm, oder anders herum. Im ersten Fall startet das C#-Programm einen TCP-Server und PHP eine baut eine Verbindung auf. Im Router muss dann eine Protfreigabe eingerichtet werden, damit das C#-Programm den Server starten kann.
Anders herum ist es einfacher: Das C#-Programm sendet eine HTTP-Anfrage an den PHP-Server und sagt ihm, dass es läuft. Auf dem PHP-Server liegt einfach eine Datei, die diese Bestätigung in Empfang nimmt - und am besten noch ein mitgesendetes Passwort überprüft, damit nicht jeder vorgeben kann, das Programm liefe.
Alles ist mit .NET-Bordmitteln und ein paar PHP-Codeschnipseln aus dem Internet und vor allem
php.net machbar.