UID 99 as it says in the output is probably nobody, which your php scripts run as.
I would suggest not running it through a webpage. Instead, use a cron job or manual entry at the command line to run the backup.
If you must run from the web server:
Your php scripts runs as apache, but you must run as root. Having the file owned by root is not enough.
so, you'll have to create one php/perl file owned by root with the setuid bit enabled (chmod u+s) and call it from the php script that runs from the webserver. It's a somewhat complicated process and very dangerous if you don't do it right - so i wouldn't recommend it unless you know exactly what you're doing.