McPhail will serve a suspension after his sending-off during Wednesday's 1-0 victory at Reading.
Gavin Rae will regain his place in the middle of the park.
Young right-back Adam Matthews was forced out of the win at the Madejski Stadium just after the half-hour mark with a groin tear and is unlikely to line up at the weekend. Paul Quinn should take his place.
Midfielder Joe Ledley sustained a calf problem and had to be replaced in the closing stages, but he should be okay.
Ross McCormack is likely to remain on the sidelines with his hamstring problem, while fellow forward Kelvin Etuhu and full-back Kevin McNaughton (both ankle) are also out.
QPR defender Fitz Hall is ruled out of the trip to Cardiff.
The big centre-half suffered a groin tear in training last week so Kaspars Gorkss could earn a recall in defence.
Skipper Martin Rowlands will push for a start after returning as a substitute against Peterborough last weekend.
The midfielder had been sidelined since suffering an ankle injury on the opening day of the season and came through his comeback appearance unscathed.
Winger Lee Cook (knee), veteran midfielder Gareth Ainsworth (hamstring) and young striker Angelo Balanta (groin) are still on the sidelines.
Iceland international forward Heidar Helguson this week returned to his former club Watford on loan so Arsenal youngster Jay Simpson keeps his place in attack.