Gravatar de Armonth

WordPress 2.5 y los avisos de “Strict Standards”

Hace unos días un amigo hizo la locura de instalar la última versión de WordPress directamente del SVN en un sitio en producción.

Por suerte no peto nada pero a menudo le saltaban avisos:

*Strict Standards*: Assigning the return value of new by reference is deprecated in */var/www/net/wp-settings.php* on line *267*

Aunque lo solucionamos “como pudimos” no profundice mucho en el error y ayer en la lista de wp-testers alguien se ha encontrado con el mismo problema y Aaron Harun le ha dado la solución “limpia”.

En realidad es una tontería pero como puede ser útil paso a traducirla:

Estás recibiendo el error debido a que PHP 5 está puesto para que por defecto muestre todos los errores incluyendo los “strict notices” y WordPress sigue estando desarrollado para PHP4.

Puedes quitar estos avisos actualizando tu php.ini y poniendo la variable "error_reporting" a:

error_reporting = E_ALL & ~E_STRICT

Si no tienes acceso a tu php.ini deberías poder añadir algo similar en tu fichero .htaccess.

Los “strict notices” son avisos de que cierta parte del código no se ha escrito de forma estricta a como debería ser o se ha usado una función deprecated y es posible que en futuras versiones de PHP deje de funcionar. Parecido a cuando en XHTML no se usa una propiedad que debería usarse y pese a no “saltarse el estándar” advierte que es posible que en su futuro sí lo haga y es mejor usarla.

7 Comentarios (feed)

  1. Gravatar de FrIkI FrIkI nos comenta:

    … salvando las diferencias entre los lenguajes xhtml y php.

    Creo que la comparación es muy poco acertada. Lo puedes comparar con qualquier lenguaje de programación: perl, python, c…

    Miércoles, 27 de Febrero/2008 @ 6:44

  2. Gravatar de Armonth Armonth nos comenta:

    ¿Es poco acertada porque uno es lenguaje de script y el otro de marcado o por algo más? Se admiten sugerencias para corrección :P

    Miércoles, 27 de Febrero/2008 @ 10:23

  3. Gravatar de Masiosare Masiosare nos comenta:

    La comparacion no es acertada por otro detalle.

    E_STRICT es una bandera que indica que el codigo no es lo que deberia de ser y que probablemente no funcionara en versiones futuras de PHP. PHP no solo esta siendo permisivo, como xhtml, sino que esta avisando que la funcionalidad que estas implementando podria dejar de funcionar en algun tiempo.

    Miércoles, 27 de Febrero/2008 @ 16:24

  4. Gravatar de filex filex nos comenta:

    ¿Si wordpress se hiciera en PHP5, entonces no daría error?
    ¿Por que no hacen mas de una versión, pensando en un futuro próximo? (sería bueno, pensando en que no todos los host se cambiarán tan rápido, otros tendrán problemas, etc).

    Miércoles, 27 de Febrero/2008 @ 19:04

  5. Gravatar de Armonth Armonth nos comenta:

    FrIkI, Masiosare: lo he revisado el texto para dejarlo más acorde. Ya me diréis…

    filex el problema es el contrario: quieren hacerlo 100% en PHP5 pero la industria (compañías de hosting) van retrasados en la adopción de PHP5. Se espera que en alguna versión de estas se haga el salto definitivo a PHP5.

    Y es que PHP4 ya ha muerto (o al menos su soporte oficial).

    Miércoles, 27 de Febrero/2008 @ 21:31

  6. Gravatar de Federico Federico nos comenta:

    Calculo que otra solución, sin htaccess ni php.ini, seria hacer uso de la función error_reporting en la primer linea del index.php de wordpress.

    Saludos

    Domingo, 2 de Marzo/2008 @ 2:33

  7. Gravatar de Rumanos en España Rumanos en España nos comenta:

    por ese mismo motivo yo prefiero esperar que aparezca 2-3 versiones mas estables solo si en la que uso hay una vulnerabilidad demasiado critica es cuando cambio.

    Domingo, 2 de Marzo/2008 @ 23:56

No seas tímido, da tu opinión

Sé respetuoso con los demás, la diferencia de opiniones enriquece la discusión, los comentarios bajo ciertas circunstancias pueden ser moderados y requerir aprobación.