Mientras las cosas se configuren correctamente en el servidor, los archivos PHP deben registrarse como scripts y el servidor web debe hacer que PHP los interprete cuando se soliciten y solo mostrar los resultados de esa interpretación.
Dicho esto, cualquier número de problemas puede resultar en la exposición de archivos. Algunos de estos problemas también pueden exponer datos independientemente de si están en una carpeta pública o no. Siempre es importante asegurarse de que su servidor esté configurado correctamente para permitir solo las solicitudes que necesita. Esto reduce el área de superficie disponible para atacar y ayuda a evitar posibles problemas relacionados con errores que podrían resultar en una infracción.
¿Es una buena idea tener un archivo de configuración en una carpeta pública? Mientras el servidor esté configurado para no entregar el archivo sin procesarlo, probablemente no sea mucho menos seguro que cualquier otro punto en el sistema. Existe una pequeña posibilidad de que se utilice un error en el servidor web para evitar la ejecución por parte del motor de secuencias de comandos, pero los ataques más probables son ataques que provendrían de alguna otra dirección, como SQL, FTP o algún código de inyección, donde estar en una carpeta privada estaría igualmente expuesto.
Dicho esto, la otra cara de la pregunta es por qué no se coloca en otro lugar. La opción más segura sería colocar en un lugar donde solo el usuario que ejecute la instancia de PHP del sitio web pueda acceder y denegar el acceso al archivo desde cualquier otro mecanismo (como el usuario de FTP o cualquier otro usuario que se use públicamente). Sin embargo, es bastante difícil de configurar y administrar, por lo que se debe tomar una decisión si la seguridad adicional es necesaria o no.
Es un lanzamiento lo que es mejor. Es mucho trabajo adicional administrar todas las rutas, permisos y usuarios para mantener ese nivel de seguridad. Por otro lado, siempre que el servidor se mantenga parcheado y configurado correctamente, solo debe ser vulnerable a los ataques de día cero que atacan a un nivel muy bajo y pueden ser seguros contra casi todos los ataques comunes, incluso con el archivo de configuración en la carpeta pública.