'Parece que eliminar una cookie es más difícil de lo que parece.
setcookie($name, '', 1);
No se puede hacer el truco. El ''
está vacío y setcookie
puede ignorar toda la instrucción.
también establecer el tiempo al pasado a veces permite la cookie para retener el valor cuyo tiempo de expiración es más reciente que 1.
estoy tratando con esto ahora mismo. No sé de dónde viene, pero está allí.
he recurrido a
setcookie($name, '0', 9000000000);
Esto asegura la cookie se establece en un valor que se resuelve en falso y que es más reciente que cualquier valor anterior.
Si alguien tiene alguna idea sobre este comportamiento, dígaselo.
Sospecho que la dificultad radica en el hecho de que los valores de dominio y ruta para setcookie
tienen la garantía de ser los mismos desde la ejecución hasta la ejecución cuando no se especifican los valores.
Y soy consciente de que dicha cookie no caducará hasta 2038 más o menos.
Como alternativa, si se conoce la fecha de caducidad más reciente de la cookie, solo debe establecerse 1 segundo después.
Puede "pedir cortésmente" al navegador que elimine la cookie estableciendo su valor en una cadena vacía, o estableciendo el tiempo de caducidad en alguna fecha pasada, o usando '$ cookie-> delete();' desde https : //github.com/delight-im/PHP-Cookie – caw