The deal will pay Crawford $2.4 million, a source told The Undefeated's Marc Spears.
A three-time Sixth Man Award winner, Crawford is a proven scorer who has averaged 15.0 points, 3.4 assists and 1.7 3-pointers made per game during his career.
Entering his 19th season in the NBA, Crawford will now play for his eighth different franchise.
Crawford, 38, played last season for the Minnesota Timberwolves and averaged 10.3 points -- his lowest scoring average since the 2001-02 season, in which he played just 23 games.
Crawford opted out of the final year of his contract to become a free agent after being unhappy with his role.
The Suns are in need of a starting point guard; it is uncertain if Crawford, a combination guard, will be used in that role. Starting shooting guard Devin Booker is coming off hand surgery and missed the entire preseason, but hopes to be available for the season opener against the Dallas Mavericks on Wednesday.
Crawford is expected to be in uniform on Wednesday night.
"If you would have asked before if I thought [being unsigned] would go this long, I'd say no," Crawford told The Undefeated last month. "But I guess it's kind of a special circumstance with the way the league is going, the market and different things of that nature. But I'm fine. I'm actually really, really good."
Information from The Undefeated's Marc Spears was used in this report.