Gary Cahill has been ruled out of England's World Cup qualifier with San Marino and has been replaced by Newcastle's uncapped Steven Taylor.