Schneider, who spent the last two seasons with the New York Mets, will be a backup to Carlos Ruiz for the NL champion Phillies.
"We feel Brian is ideal for our ballclub," Phillies general manager Ruben Amaro Jr. said. "He's a guy that we would feel comfortable with playing for an extended period of time, if needed."
The 33-year-old Schneider hit .218 with three homers and 18 RBIs in 59 games last season for the Mets. He threw out nine of 28 runners attempting to steal.
Schneider began his career with the Montreal Expos in 2000 and played with the Expos/Washington Nationals through 2007. He is a .251 career hitter with 59 homers and 356 RBIs.