Problemas con el calendario...

Problemas con el calendario...

de Susana Vergara -
Número de respuestas: 5
Me aparece el siguiente mensaje...

Deprecated: Assigning the return value of new by reference is deprecated in C:\Archivos de programa\EasyPHP5.3.0\www\moodle\calendar\view.php on line 315

que puede ser???
algun consejo para hacer que desaparezca ese mensaje.

Saludos!!
Promedio de valoraciones: -
En respuesta a Susana Vergara

Re: Problemas con el calendario...

de Xavier Paz -
El problema es que posiblemente esté usando un método solo disponible en PHP 4, relacionado con el símbolo &, para los parámetros pasados por referencia.

¿Qué versión de Moodle y PHP estás usando? A lo mejor es necesario que actualices la de PHP..
En respuesta a Xavier Paz

Re: Problemas con el calendario...

de Susana Vergara -
estoy usando PHP 5.2.0 y la version 1.9.5 de Moodle
En respuesta a Susana Vergara

Re: Problemas con el calendario...

de Xavier Paz -
Esto es lo que contiene la línea 315 de dicho script:

$display = &New stdClass;

Supongo que el error que aparece hace referencia al símbolo &. Lo he comprobado, y en versiones anteriores de Moodle esa línea aparece exactamente igual. No sé si el eliminar ese símbolo supondrá algún problema o no.

¿Lo que aparece es un mensaje de advertencia o de error? Es decir, ¿la ejecución del script php se detiene o aparece el interfaz de Moodle y simplemente muestra el mensaje de advertencia entre medias?
En respuesta a Xavier Paz

Re: Problemas con el calendario...

de Raul Garcia Canet -
Hola Xavier y Susana,

Estás en lo cierto Xavier, en PHP5 el uso del "&" está obsoleto y no se "debe usar".

Es incorrecto hacer:

$display = &New stdClass;

Hay que hecerlo así:

$display = New stdClass;
$myvalue=&$display->getValue();

Más info en:
http://es2.php.net/manual/en/language.references.return.php

Ah, y además, esto (que aunque no viene al caso, puede ser interesante):

http://es2.php.net/eregi

Susana, debes estar usando la version PHP 5.3, ya que en las versiones 5.2.x ese mensaje de adveretencia no se ve ya que estas versiones aún lo soportan.
a partir de laversión 5.3, ya aparece ese mensaje.

No supone ningún problema, tan sólo es un aviso. Nos viene bien saberlo a los desarrolladores para no usar más esa construccion.

http://tracker.moodle.org/browse/MDL-20055

Si quieres eliminar el mensaje, prueba con:

- Edita el fichero php.ini (esta en la carpeta Windows)

- Busca la linea:

error_reporting = E_ALL & ~E_NOTICE
(hay varias pro sólo una está descomentada, sin el ';')

cámbiala por:

error_reporting = E_ALL & ~E_NOTICE | ~E_STRICT

Si esto no funciona, busca la linea:

display_errors = On

Cambiala por:

display_errors = Off
(de esa forma ocultarás todos los mensajes de error y avisos que pueda lanzar el php)

Hasta pronto,
Salu2,
J. Raul (juagarc4) guay