Early career Edwards started his career at
Wigan Athletic, signing a professional contract at the age of 18. He was
loaned to
Morecambe for one month in September 2004 to gain first-team experience, making a single appearance as a
substitute in a 2–2 draw against
Northwich Victoria. He returned to Wigan in October 2004, where he featured regularly for the reserve team but did not make any first-team appearances.
Accrington Stanley Edwards signed for
Accrington Stanley on loan in October 2005, making his debut in a 3–3
Football League Trophy draw against
Rotherham United. Accrington won each of Edwards' first six matches, conceding only two goals, His loan was extended until the end of the
2005–06 season in November 2005, and after regular appearances, Edwards signed permanently for Accrington on 12 January 2006. He was part of the team that secured promotion to
the Football League with a 1–0 win over
Woking on 15 April 2006, making 27 appearances that season. Edwards scored his first professional goal in a 3–3 home draw with
Shrewsbury Town on 2 December 2006. His final appearance of the
2006–07 season was in a 3–2 home victory over
Macclesfield Town, a result that ensured the club's Football League status for the following year. He made 39 appearances in all competitions that season, scoring once. Edwards committed to Accrington for the
2007–08 season by signing a one-year contract extension on 8 May 2007. After limited game time during the first half of the season, Edwards was ever-present from December 2007 onwards. He scored his only goal of that season on 4 April 2008, the match-winner in a 1–0 victory against
Dagenham & Redbridge, a result that helped secure Accrington's League Two survival. He made 32 appearances in all competitions during the campaign. Accrington manager
John Coleman praised Edwards' form during the start of the
2008–09 season in October 2008, stating: "I couldn't pay him enough compliments. I think the last six months he has been absolutely magnificent. I am convinced if he was three inches bigger he would be playing in the
Premier League. He is our best defender and hopefully he'll continue to be a great player for us for a long time". Edwards was substituted after 17 minutes due to injury in Accrington's 2–1 win against Shrewsbury Town on 21 October 2008, but despite needing eight stitches in his knee, he played in the next league match four days later. He appeared in all 50 matches that season as Accrington finished 16th in League Two. In June 2009, he signed a new two-year contract. Edwards scored nine times from central defence during the
2009–10 season, playing in all 57 matches as Accrington finished in 15th place in League Two. He scored his first two goals of the
2010–11 season on 2 October 2010, both from the
penalty spot in Accrington's 7–4 home win against
Gillingham. Accrington secured their place in the
League Two play-offs by finishing fifth, with Edwards playing in both
semi-final matches against
Stevenage, which they lost 3–0 on aggregate. That season, he scored 13 goals from defence in 51 appearances, finishing as Accrington's joint top goalscorer alongside
Terry Gornell and
Sean McConville. Accrington assistant manager Jimmy Bell stated: "Phil has been offered a good deal and we're quietly confident, although there have been a few rumours about one or two clubs being interested. But Phil has been here since he was young, he can't drive, he gets looked after by the club and he gets lifts in to training, so he feels quite settled here". He agreed to a one-year deal with the option of a second year. Upon joining the club, Edwards stated he had not been actively seeking a move but chose Stevenage to experience League One football. He went on to make 27 appearances during the first half of the season, of which 13 were starts.
Rochdale Following
Graham Westley's departure, Edwards fell out of favour under new Stevenage manager
Gary Smith and joined
Rochdale on 9 March 2012, on loan until the end of the 2011–12 season. The move reunited him with manager John Coleman, who had managed him for six years at Accrington. He made his Rochdale debut the following day, coming on as a 61st-minute substitute in a 2–2 draw against
Huddersfield Town. His loan spell was limited to three appearances due to a knee injury. At the end of the season, Edwards was released by Stevenage upon the expiry of his contract. Ahead of the
2012–13 season, he signed a one-year permanent deal with Rochdale and featured regularly, making 49 appearances in all competitions as the club finished in mid-table in League One.
Burton Albion Edwards opted to leave Rochdale after his first full season, signing for fellow League Two club
Burton Albion on a free transfer on 29 June 2013. Upon signing, Burton manager
Gary Rowett praised Edwards' experience and consistency, noting that at 27 he was well-positioned to continue progressing and become a key player for the club. He scored his first goal for the club in a 1–0 away victory at
Exeter City on 26 October 2013. Edwards joined League One club Oxford United on a season-long loan on 19 August 2016. He suffered a cartilage tear in his knee during pre-season and underwent surgery in July 2017.{{cite news
Return to Accrington Without a club at the start of the
2019–20 season, Edwards rejoined Accrington Stanley on a one-year contract on 1 August 2019.{{cite news
Warrington Town Edwards signed for
Northern Premier League club
Warrington Town on 3 November 2020.{{cite news ==Style of play==