The 21-year-old will officially complete his transition to Ibrox on January 1 and will be the first signing under new coach Philippe Clement.
Silva joined Wolves from Portuguese giants Porto for a record £35m payment in the summer of 2020 but is yet to reach the heights expected at Molineux.
Portugal’s Under-21 international has contributed five goals and six assists in 72 appearances for Wolves, and has played just 262 minutes in the club’s first 19 Premier League games this season.
Silva had already registered 16 goals and six assists during two loan spells with Anderlecht and PSV Eindhoven last season but has since fallen down the pecking order under Gary O’Neil at Wolves and will be looking to feature in the first team for Rangers for the rest of the season. the 2023-24 campaign.
Speaking to Rangers’ official website after joining the club, Silva said: “I am very happy, when I spoke to people about Glasgow and about Rangers, everyone told me good things about the club and the history.
“I played here once with Porto in the Europa League, so I already know the friendly club, the stadium and everything is perfect.
“I am very happy to be here, and I can’t wait to start training with the team.”
Clement added: “I am very pleased to have been able to secure the signature of Fabio, he is a very popular striker and it is fantastic to see him sign for our team for the rest of the season.
“He is a young player who has already thoroughly enjoyed his career in England and Europe, and I look forward to running with him moving forward. “
Managing Director James Bisgrove continued: “Having discussed extensively with Philippe, the chairman and our football board ahead of this moving window, we are all aligned in the spaces we are looking for between now and 2024.
“It’s incredibly positive to have been with the whole squad so early, especially with a player of Fabio’s calibre, and we’re very pleased to welcome him to the Rangers. “
Silva will not be available for Rangers’ next match against Old Firm rivals Celtic at Parkhead on Saturday, but the striker could be in a position to make his debut for the Gers in next Tuesday’s Scottish Premiership clash with Kilmarnock at Ibrox.