"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.
He gets a $250,000 signing bonus and salaries of $1 million next season and $1.5 million in 2011. The deal also includes performance bonuses based on playing time.