Errores PHP después...
Avisos
Vaciar todo

Hosting WordPress 70% dto Dominios promo

Errores PHP después de actualizar a Joomla 3.8.13 | PHP7  

 
Micky
 Micky
Estimable Member

Buenos días de nuevo:

Hemos actualizado la web a la última versión de Joomla y activado PHP 7 en nuestro hosting y aunque la web funciona correctamente, hemos detectado una serie de fallos en el error_log que nos gustaría corregir. Al ser de varios tipos, no sé si sería mejor que te lo enviara en 3 consultas distintas (PHP Deprecated, PHP Notice y PHP Warning) . Si lo prefieres, indícamelo en tu respuesta y así lo haré.

Estos 4 son los que aparecen al navegar por cualquier página:

[16-Oct-2018 09:01:14 UTC] PHP Deprecated: Non-static method JoomlaCMSApplicationSiteApplication::getMenu() should not be called statically in /home2/quieromi/public_html/test.dicrisur/templates/dafne/index.php on line 65

[16-Oct-2018 09:01:14 UTC] PHP Deprecated: Non-static method JoomlaCMSApplicationCMSApplication::getMenu() should not be called statically in /home2/quieromi/public_html/test.dicrisur/libraries/src/Application/SiteApplication.php on line 275

[16-Oct-2018 09:01:14 UTC] PHP Notice: Undefined variable: this in /home2/quieromi/public_html/test.dicrisur/libraries/src/Application/CMSApplication.php on line 369

[16-Oct-2018 09:01:14 UTC] PHP Notice: Only variables should be assigned by reference in /home2/quieromi/public_html/test.dicrisur/templates/dafne/index.php on line 65

Y estos 2 aparecen, junto con los otros 4, solo cuando accedo al blog:

[16-Oct-2018 08:56:38 UTC] PHP Warning: require_once(/home2/quieromi/public_html/test.dicrisur/libraries/joomla/document/html/renderer/head.php): failed to open stream: No such file or directory in /home2/quieromi/public_html/test.dicrisur/templates/dafne/error.php on line 86

[16-Oct-2018 08:56:38 UTC] PHP Fatal error: require_once(): Failed opening required '/home2/quieromi/public_html/test.dicrisur/libraries/joomla/document/html/renderer/head.php'

Por favor, te agradecería mucho si pudieras orientarme para solucionarlos.

¡Mil gracias! 😉

URL del sitio: Contenido solo visible a usuarios registrados

Citar
Respondido : 16/10/2018 12:44 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Micky.

vamos a ir resolviendo las cosas paso a paso que es mucho:

Para el primer mensaje:

PHP Deprecated: Non-static method JoomlaCMSApplicationSiteApplication::getMenu() should not be called statically in /home2/quieromi/public_html/test.dicrisur/templates/dafne/index.php

.- Edita el archivo index.php que encontrarás en la carpeta templates -> dafne y busca el siguiente código:

getActive() == $menu->getDefault()) :
		?>

Modifica por lo siguiente:

	getMenu();
			if ($menu->getActive() == $menu->getDefault()) :
		?>

Revisa si con eso solucionamos alguna parte de esos errores y nos comentas.

Recuerda descargar una copia del archivo original antes de modificarlo.

Después de eso vemos los siguiente errores.

Un saludo

ResponderCitar
Respondido : 16/10/2018 5:38 pm

Micky
 Micky
Estimable Member

Hola, Pepe:

¡¡¡Otra batalla ganada!!! Parece que los 4 primeros errores que te indicaba en mi consulta desaparecen.

Los que se producen cuando accedo al blog, siguen apareciendo:

[16-Oct-2018 19:27:40 UTC] PHP Warning: require_once(/home2/quieromi/public_html/test.dicrisur/libraries/joomla/document/html/renderer/head.php): failed to open stream: No such file or directory in /home2/quieromi/public_html/test.dicrisur/templates/dafne/error.php on line 86

[16-Oct-2018 19:27:40 UTC] PHP Fatal error: require_once(): Failed opening required '/home2/quieromi/public_html/test.dicrisur/libraries/joomla/document/html/renderer/head.php' (include_path='.:/opt/alt/php70/usr/share/pear') in /home2/quieromi/public_html/test.dicrisur/templates/dafne/error.php on line 86

Dándole vueltas a toda la web he visto que me aparece un último error:

[16-Oct-2018 19:54:30 UTC] PHP Warning: Declaration of ytVideo::getThumb() should be compatible with Video::getThumb($id = false) in /home2/quieromi/public_html/test.dicrisur/plugins/system/videobox/adapters/ytvideo.php on line 15

Y este es el código que aparece en el archivo ytvideo.php (la línea 15 es: class ytVideo extends Video {):

 

// no direct access
defined( '_JEXEC' ) or die( 'Restricted Access' );

include_once('video.php');

class ytVideo extends Video {

	function getTitle($forced = false){
		if($forced && $this->title==''){
			return 'http://youtu.be/' . $this->id;
		} else {
			return $this->title; 
		}
	}

Ya queda menos para ganar la guerra 😛

¡Muchísimas gracias por tu ayuda!

ResponderCitar
Respondido : 16/10/2018 10:37 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Con respecto a este fatal error:
[16-Oct-2018 19:27:40 UTC] PHP Fatal error: require_once(): Failed opening required '/home2/quieromi/public_html/test.dicrisur/libraries/joomla/document/html/renderer/head.php' (include_path='.:/opt/alt/php70/usr/share/pear') in /home2/quieromi/public_html/test.dicrisur/templates/dafne/error.php on line 86

El archivo error.php de tu template esta obsoleto, ubica este archivo:
/home2/quieromi/public_html/test.dicrisur/templates/dafne/error.php

Renombralo simplemente por :
/home2/quieromi/public_html/test.dicrisur/templates/dafne/_error.php

Con eso el archivo de error.php será tomado por defecto y no del template

Saludos.

ResponderCitar
Respondido : 16/10/2018 11:20 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Micky
 Micky
Estimable Member

Muchísimas gracias por tu ayuda, Jhon. Renombrando el archivo, tal y como me indicas, no vuelve a aparecer el error.

Ya solamente me queda por solucionar este último error:

[16-Oct-2018 19:54:30 UTC] PHP Warning: Declaration of ytVideo::getThumb() should be compatible with Video::getThumb($id = false) in /home2/quieromi/public_html/test.dicrisur/plugins/system/videobox/adapters/ytvideo.php on line 15

Y este es el código que aparece en el archivo ytvideo.php (la línea 15 es: class ytVideo extends Video {):

 

// no direct access
defined( '_JEXEC' ) or die( 'Restricted Access' );

include_once('video.php');

class ytVideo extends Video {

	function getTitle($forced = false){
		if($forced && $this->title==''){
			return 'http://youtu.be/' . $this->id;
		} else {
			return $this->title; 
		}
	}

¡Gracias de nuevo! 😉

ResponderCitar
Respondido : 17/10/2018 10:13 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Miky.

Supongo que e este modulo:
-> https://extensions.joomla.org/extension/videobox/

no se actualiza desde el 2016 por lo qu e deduzco que el proyecto está muerto o parado.
Se podría solucionar, como los anteriores es problema de version de PHP pero como consejo me plantearía buscar alguna alternativa a ese plugin.

Si es para añadir videos, no creo que sea necesario ningún plugin a no ser que necesites alguna galería de videos.

Como alternativa por ejemplo puedes utilizar :
-> https://extensions.joomla.org/extensions/extension/multimedia/multimedia-players/allvideoshare/

Un Saludo

ResponderCitar
Respondido : 17/10/2018 12:00 pm

Cursos Gratuitos WordPress

Micky
 Micky
Estimable Member

Muchas gracias, Pepe.

De momento me gustaría solucionarlo modificando el código, si es posible. Ya con más tiempo me plantearé buscar otro plugin (es para galería de vídeo)

¿Podrías orientarme?

Gracias de neuvo 😉

ResponderCitar
Respondido : 17/10/2018 12:36 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Con lo que envías no es suficiente, es un poco más complejo por la herencia que esta usando y podría estar en otro archivo el código a modificar.

Igual ten en en cuenta que es un warning, la extensión debería seguir trabajando sólo que te sugieren que uses otra sintaxis.

Saludos.

ResponderCitar
Respondido : 17/10/2018 6:39 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Micky
 Micky
Estimable Member

Muchas gracias por la respuesta, Jhon, pero si no entendí mal la última respuesta de tu compañero Pepe, él me sugería que se podía reparar, aunque me aconsejaba cambiar de plugin. Si no te importa, voy a consultarle a él.

Muchas gracias de nuevo

ResponderCitar
Respondido : 18/10/2018 10:45 am
Micky
 Micky
Estimable Member

Hola de nuevo, Pepe:

Perdona que te insista, pero ¿sería posible reparar este error, tal y como hemos hecho con los otros?

De verdad que te lo agradecería muchísimo. Es una pena que hayamos podido conseguir solucionar todo, gracias a vuestra ayuda, y se nos quede este últimos sin poder reparar...me valdría con que me orientaras por lo menos.

Muchísimas gracias de nuevo por tu ayuda, Pepe.

ResponderCitar
Respondido : 18/10/2018 10:49 am

wpdoctor-revisa-la-salud-de-tu-wordpress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Miky.

El problema viene porque esa variable hereda datos de otros sitios y puede ser muy costoso de solucionarlo, de todas formas probaremos algo.

.- Accede a plugins -> system -> videobox -> adapters y edita el archivo ytvideo.php

Modifica el siguiente código:

defined( '_JEXEC' ) or die( 'Restricted Access' );

Por lo siguiente:

defined( '_JEXEC' ) or die;

Solo una consulta:
¿ El plugin es este ?
-> https://extensions.joomla.org/extension/yt-video-gallery/

Hay actualizaciones recientes y supongo que con actualizarlo se solucionaría.

Un saludo

ResponderCitar
Respondido : 18/10/2018 2:34 pm
Micky
 Micky
Estimable Member

He probado el cambio que me indicabas en el código y sigue apareciendo el error...

El plugin no es el que me comentas. El que yo tengo instalado es Videobox.

Muchas gracias

ResponderCitar
Respondido : 18/10/2018 2:47 pm

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Micky.

No es un error, es un aviso, lo que te indica es que la decepcionar ytVideo::getThumb() no es compatible con Video::getThumb.

El problema es que puede estar declarado en varios archivos del modulo, no solo en lo que muestras y habría que revisar todos los archivos.

Como consejo cambia de extensión para mostrar los vídeos, antes o después lo tendrás que realizar ya que el proyecto esta terminado y llegara un momento en que dejara de mostrarse o lo peor que se caiga la web.

La extensión tienes que poder seguir utilizándola ya que no es un error y de momento funciona pero como te digo, lo mejor es que te plantes sustituirla.

Un saludo

ResponderCitar
Respondido : 18/10/2018 4:54 pm
Micky
 Micky
Estimable Member

Oído, Pepe. En cuanto pueda trataré de localizar un buen plugin para mostrar vídeos de youtube en modo galería. La verdad es que es una pena lo del plugin Videobox... es supersencillo de utilizar, muy versátil y encima gratuito ¡Ojalá encuentre algo parecido!

¡¡Muchísimas gracias por tu ayuda!! 😉

ResponderCitar
Respondido : 19/10/2018 3:52 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Mickey.

Revisa esta extensión:
-> https://extensions.joomla.org/extensions/extension/multimedia/multimedia-players/allvideoshare/

Demo:
-> https://allvideoshare.mrvinoth.com/demo/index.php

Un saludo

ResponderCitar
Respondido : 19/10/2018 4:34 pm