If it is on Linux then you can set up a cron job to execute a PHP script once a day (or at whatever interval you choose), without actually having to open the website yourself.
For example you could have a PHP script called send_birthday_emails.php
which when executed sends emails as appropriate. You could then set up a cron job such as:
0 9 * * * php /path/to/script/send_birthday_emails.php
That would execute the script once per day at 9am. Here’s a reference for how cron jobs work:
www.unixgeeks.org/security/newbie/unix/cron-1.html
On Windows you can do a similar thing with scheduled tasks