Cambio a php 4.4.0

Cambio a php 4.4.0

de Cristian Recabal -
Número de respuestas: 8

El servidor que hospedo los proyectos moodle, ha cambiado a php 4.4.0 sin avisarme y no puedo utilizar moodle, aparece el siguiente error:

Notice: Only variable references should be returned by reference in /public_html/aulavirtual/lib/adodb/adodb.inc.php on line 2548

¿Que puedo hacer?.

¿Alguien sabe como ayudarme?

Promedio de valoraciones: -
En respuesta a Cristian Recabal

Re: Cambio a php 4.4.0

de Eloy Lafuente (stronk7) -
Imagen de Desarrolladores Imagen de Desarrolladores de plugins Imagen de Documentadores Imagen de Moderadores Imagen de Moodle HQ Imagen de Moodlers de gran ayuda Imagen de Testers
Editado: MUY IMPORTANTE: Ignora el cambio propuesto en este mensaje (tachado!!) y mira el siguiente mensaje de la discusión!!!!.

Hola Cristian,

ese error, efectivamente, se produce por una incompatibilidad entre PHP 4.4.0 y las librerías ADOdb que son las que utiliza Moodle para utilizar la base de datos.

El problema está siendo tratado en esta discusión en inglés y en el Bug 3785.

Lo recomendable, por el momento, parece ser lo siguiente:

- NO actualizar la versión de PHP a la 4.4.0.
- Si esto no es posible, realizar el siguiente cambio en fichero /lib/adodb/adodb.inc.php, cambiando:
function GetAssoc($sql, $inputarr=false,$force_array = false, $first2cols = false)
por:
function GetAssoc($sql, $inputarr=false,$force_array = false, $first2cols = false)

Parece ser que con ese cambio se soluciona el error en cuestión. En cualquier caso, se trata de una solución que actualmente está siendo comprobada, ya que se trata de un cambio "arriesgado" en la librería ADOdb (también se ha contactado con sus autores para ver si dan con una solución oficial).

En cualquier caso, si probáis el cambio anterior, sería de agradecer que, especificando la versión de SO, PHP y Moodle, comentárais en esta discusión si todo os funciona correctamente tras el cambio detallado anteriormente. Si todos los informes que se reciben son positivos, seguramente dicho cambio se introducirá en la próxima versión 1.5.3 de Moodle.

Ciao sonrisa

Editado: MUY IMPORTANTE: Ignora el cambio propuesto en este mensaje (tachado!!) y mira el siguiente mensaje de la discusión!!!!.
En respuesta a Cristian Recabal

Re: Cambio a php 4.4.0

de Eloy Lafuente (stronk7) -
Imagen de Desarrolladores Imagen de Desarrolladores de plugins Imagen de Documentadores Imagen de Moderadores Imagen de Moodle HQ Imagen de Moodlers de gran ayuda Imagen de Testers
Hola otra vez,

tras echar un vistazo al código de la librería ADOdb, me parece que la solución que he dado en el mensaje anterior no es del todo correcta. Creo que lo que hay que cambiar es:
function &GetAssoc($force_array = false, $first2cols = false)
to
function GetAssoc($force_array = false, $first2cols = false)
Como puedes ver se trata de otra función que se llama exactamente igual que la que propuse inicialmente (en ese fichero hay dos), pero la que tiene pinta de producir el problema es esta segunda y no la del mensaje anterior.

Yo no he podido comprobarlo (no tengo PHP 4.4.0 para Mac triste), así que cualquier informe de cómo os han ido las cosas, especificando qué función es la que habéis cambiado y versiones de SO, PHP y Moodle), serán ABSOLUTAMENTE bienvenido. guay

Ciao sonrisa
En respuesta a Eloy Lafuente (stronk7)

Re: Cambio a php 4.4.0

de Rodrigo A Hernández O -

me quito el sombrero en frente tuyo.  Muchas muchas gracias, llevaba mas de dos semanas rompiendome el coco con este problema, pero gracias a vos ya está solucionado.

Hurra por Eloy

En respuesta a Rodrigo A Hernández O

Re: Cambio a php 4.4.0 - 2689

de Miguel Damiani B. -

Hola a todos...A mi también se me presentó el mismo problema en la línea 2689 del adodb.incl.php

Escribí al comienzo de los foros este bendito número "2689" y dí con esta discusión y de este modo con la solución propuesta por Eloy, que ha funcionado muy bien hasta ahora.sonrisa

Yo trabajo sobre un servidor Linux, con PHP 4.4.0 MySQL 4.1.9

Gracias Eloy...Pueden ver mi sitio en:

http://www.aqplink.com/moodle

En respuesta a Eloy Lafuente (stronk7)

Re: Cambio a php 4.4.0

de Santiago Castellanos -
Funciono a las 1000 maravillas gracias aprobación
En respuesta a Eloy Lafuente (stronk7)

Re: Cambio a php 4.4.0

de Ariel Antigua -
 Despues de ver este enlace es que me doy cuenta que mi instalación de pruebas con Moodle 1.5.3+ esta hecha en PHP 4.4.1 y funciona de maravillas..

 cual es la diferencia entre 4.4.0 y 4.4.1 ??