Encontré algo extraño mientras migraba a mi nuevo servidor.Capaz de eco antes del encabezado()
Tengo un script que redireccionará a los usuarios a otra página web según ciertas condiciones. Lo que estaba haciendo, sin embargo, es hacer eco de 'Redirigir ...', luego usar la función de encabezado() para redirigir realmente. Así es como se veía el código:
if($condition) {
echo 'Redirecting...';
header('Location: ' . $url);
}
Ahora sólo me di cuenta de que esto es incorrecto después de cambiar a nuestro nuevo servidor, probado, y vio que no sería redirigir simplemente redirigir la salida ... y una vez que buscó al respecto, aprendió que no puede haber ningún tipo de salida (a menos que use ob_start, etc.) antes de usar la función de encabezado().
La pregunta es, ¿por qué este código, que NO debería funcionar en CUALQUIER instalación de PHP, funciona en mi servidor anterior? Redirigirá con el echo before header() sin problema.
Gracias!
Creo que se puede activar el almacenamiento temporal de datos por defecto en su php.ini. El lado negativo es que toda la solicitud debe completarse antes de que se envíe cualquier salida al usuario. – meagar