Как в php сделать так чтобы по ссылке xml открывался php файл?
Сделайте rewrite правило в конфиге nginx, чтобы при обращении к sitemap.xml вызывался php скрипт, который и обновит и выведет содержимое sitemap.xml. Только позаботьтесь о некой логики кеша, чтобы функция обновления файла запускалась не каждый раз, а по мере устаревания файла или его отсутствии.
1. Прописать реврайт рулс нжинксу
2. Более верный путь - отдавать из движка через роутинг