Y de repente… un pantallazo en blanco o un Error 500.
Accedemos al log de errores y nos encontramos con algo como lo siguiente:
Cannot re-assign auto-global variable _COOKIE, ¿Qué quiere decir y, sobretodo, cómo lo solucionamos?
PHP, a partir de la versión 5.4, asigna el nombre _COOKIE a su lista de palabras reservadas, es decir, a la lista de palabras que no pueden emplearse en programación salvo para el uso concreto y exacto para el que fueron concebidas.
Eso impide que podamos usar _COOKIE como nombre de variable. Así que cosas como:
function __construct($_COOKIE) { // If we have the cookies we can go ahead and parse them. if (isset($_COOKIE["__utma"]) and isset($_COOKIE["__utmz"])) { $this->ParseCookies(); } }
Sencillamente dejan de funcionar.
¿Solución? Cambiar el nombre de la variable por cualquier otra palabra no reservada. Por ejemplo:
function __construct($global_cookie) { // If we have the cookies we can go ahead and parse them. if (isset($global_cookie["__utma"]) and isset($global_cookie["__utmz"])) { $this->ParseCookies(); } }
Escribir comentario