McPhail has been without a club since leaving Cardiff at the end of last season, but has now joined Sheffield Wednesday on a contract that will initially run until January.
McPhail made just two appearances for Cardiff last season.
McPhail has previously played for Leeds United, Millwall, Nottingham Forest, Barnsley and Cardiff.