The Spanish Football Association says it has received Solari's contract from the La Liga club, although no there has not yet been an announcement from Real.
Solari took over on 29 October on an interim basis after the sacking of former Spain manager Julen Lopetgui.
The 42-year-old Argentine has since led Real to four wins in four games - the best start of any manager in the club's history.
Real had to give Solari - or someone else - the job as Spanish rules prevent an interim coach from staying in charge for longer than 14 days.
Solari's wins in his spell in charge have been against Melilla in the Copa del Rey, Viktoria Plzen in the Champions League, and Real Valladolid and Celta Vigo in La Liga.
In those games, Real have scored 15 goals and conceded two goals.
The club were ninth when he assumed control and they are now sixth, four points adrift of leaders Barcelona.