find . -type f -name '*.php' -print0 | tee list | tr \0 \n
xargs -r0 rm -f < list
Supondo que você queira ver a lista antes de decidir excluí-los. Se não, você pode simplesmente fazer:
find . -name '*.php' -type f -print -delete
(observe que -print0 , -delete , -r , -0 não são padrão, mas suportados pela implementação da GNU)
Tenha também em atenção que, embora find -delete seja relativamente seguro, na primeira solução, alguém pode renomear diretórios para links simbólicos para algumas áreas sensíveis entre a execução do comando find e xargs e excluir arquivos que você não pretendia. Executar find duas vezes, a segunda vez com -delete evitaria isso.