Se entrambi lavorerai su una base di codice condivisa, l'unico modo sensato è usare una lingua che entrambi conosci.
L'opzione migliore, di gran lunga, è imparare la lingua degli altri. Non solo questo ti darà due lingue condivise con cui lavorare (il che significa che puoi scegliere quello più appropriato per il lavoro da svolgere), imparare nuove lingue è essenziale per diventare uno sviluppatore versatile con un occhio per la grande immagine e una bella cassetta degli attrezzi piena di alternative tra cui scegliere.
Un'altra opzione è quella di imparare una terza lingua. Questo è particolarmente interessante quando nessuno dei due linguaggi è adatto per quello che si sta per costruire: sia PHP che C # hanno alcuni aspetti negativi importanti, e potrebbe solo risultare che, per esempio, Python potrebbe essere la lingua migliore per il tuo progetto . Ancora una volta, l'apprendimento di un nuovo linguaggio di programmazione è sempre un buon investimento, anche se si finisce per non utilizzarlo.
Una terza opzione sarebbe quella di dividere rigorosamente il codice base in una parte C # e una parte PHP, e definire interfacce agonostiche tra loro. Ad esempio, potresti avere un front-end C # che dialoga con un server PHP su un'API RESTful. Questa è raramente una buona scelta, tuttavia, e renderà la struttura del tuo team eccessivamente rigida: non puoi semplicemente saltare dentro e aiutare con l'altra metà del progetto, perché è in una lingua che non conosci. Significa anche che entrambi avranno un enorme fattore di bus, quindi suggerisco di non farlo.
TL; DR: Metti insieme le tue azioni e impara a vicenda la lingua.