We had this issue constantly, Locally we setup a script using chokidar filewatcher. We customized the files sam outputs on song change to be JSON files. When the file changes, chockidar fires a signal that updates the record on our mongoDB database, which in turn is connected via websockets to our frontend, which updates the song, queue, history... We got fedup with the PHP stuff...
This probably does not help you in the least, but just wanted you to know that there are workarounds that work flawlessly. Using meta refresh is very labor intensive for your server, especially when there are hundreds of listeners.