First of all, confirm your phpinstall is working fine:
a simple page
<head><title>My very own php test page</title></head>
will hopefully show some nice information...
You can test if your phpsettings allow shellexecuting (safe-mode)
e.g. bij echoing a simple "ls -l"
Is it possible you have your /home/ben dir not readable for others?
As far as I know (don't shoot me if I'm wrong) the http daemon of apache has its own user (for security purposes), so I can think of a way your mp3 isn't visible for the daemon. This would explain why you can run your phpscript as root, but not through the http protocol.