En el 90% de los casos he visto que ese error (500) se debe a una mala configuración
local del servidor (aka .htaccess). Si usas ese archivo para configurar algo en tu servidor puede que alguna de sus directivas esté mal aplicada (puede funcionar en un server, pero dejar de hacerlo en otro).
Como dice
pateketrueke, revisa el log de errores de apache, allí te debería indicar cuál es el error. Lo más seguro es que nada tiene que ver con el script PHP, sino con la configuración del server.