I\'m looking to geocode over 5000 addresses at once in a PHP script (this will only ever be run once).
I have been looking into google as a potential resource for doing
As @Bart Kiers says, there's a limit on the number of requests you can do in a 24hr period; there's also a "not too fast" per-hour (?) limit. I'd suggest that you divide (seconds per day) 86400/2500 (the limit) to get a query rate that shouldn't exceed the "too fast" per/hour limit. It comes out to about one query per 35 seconds, which should get you the results in two days.
However, do check the return codes: if the service starts returning 620, stop and give it a rest for some time, else you risk a ban.