Jump to content

Fatal error: Uncaught Error: Access to undeclared static property:


Recommended Posts

Hola chipirones! Vamos haber estoy migrando mi tienda de prestashop www.buydron.com. Tenia la tienda corriendo en bitnami_prestashop pero la estoy cambiando a XAMPP (Lampp) porque quiero poner mas webs de otras cosas (soy informatico). Es un servidor dedicado o personal (lo tengo al ladito) sobre ubuntu (ip estatica). 

 

El tema es que durante la migración de la tienda de prestashop a XAMPP me aparece esto cuando entro en administración y le doy a por ejemplo guardar en el apartado Preferencias ->seo +urls (aunque me sale el mismo error clicando en guardar en varios sitios de administracion de la tienda.

 

Aqui teneis el error bonito.

Fatal error: Uncaught Error: Access to undeclared static property: Validate::$values in /opt/lampp/htdocs/classes/controller/AdminController.php:1373 Stack trace: #0 /opt/lampp/htdocs/classes/controller/AdminController.php(883): AdminControllerCore->processUpdateOptions() #1 /opt/lampp/htdocs/controllers/admin/AdminMetaController.php(443): AdminControllerCore->postProcess() #2 /opt/lampp/htdocs/classes/controller/Controller.php(171): AdminMetaControllerCore->postProcess() #3 /opt/lampp/htdocs/classes/Dispatcher.php(373): ControllerCore->run() #4 /opt/lampp/htdocs/administration/index.php(54): DispatcherCore->dispatch() #5 {main} thrown in/opt/lampp/htdocs/classes/controller/AdminController.php on line 1373

 

No es un tema de permisos porque directamente esta TODO xampp  a chmod 777 (a saco).

Para hacer la migracion directamente he instalado xampp, e copiado la carpeta htdocs, he configurado vhost y  el htppd-ssl (e copiado los archivos de certificados donde tocava)

 

 

<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /opt/lampp/htdocs/
DirectoryIndex index.php
ServerName buydron.com
<Directory  /opt/lampp/htdocs/>
    Options FollowSymLinks Indexes MultiViews Includes execCGI
#Options FollowSymLinks Indexes MultiViews
    #Options All
    AllowOverride All

 

 

e tenido de modificar el settings.inc.php sin password porque me daba un error que no me dejaba entrar en la base de datos.

 

<?php

define('_DB_SERVER_', 'localhost:3306');
define('_DB_NAME_', 'bitnami_prestashop');
define('_DB_USER_', 'root');
define('_DB_PASSWD_', '');
 
También he exportado e importado la base de datos en phpmyadmin.

 

Eso es todo a y el panel de administracion esta configurado para no usar caches, la he borrado además. Hasta aqui es todo lo que he hecho. Porque me sale este erro dichoso de la lina 1373 en AdminController.php.

 

// Check field validator
if (isset($values['type']) && $values['type'] == 'textLang')
{
foreach ($languages as $language)
if (Tools::getValue($field.'_'.$language['id_lang']) && isset($values['validation']))
if (!Validate::$values['validation'](Tools::getValue($field.'_'.$language['id_lang'])))
$this->errors[] = sprintf(Tools::displayError('field %s is invalid.'), $values['title']);
}
elseif (Tools::getValue($field) && isset($values['validation']))
if (!Validate::$values['validation'](Tools::getValue($field)))->PETAAAAA AKIII!
$this->errors[] = sprintf(Tools::displayError('field %s is invalid.'), $values['title']

 

No creo que  tenga de modificar ninguna linea de codigo porque se trata de una migración de servidor( copy paste), todo lo que hecho en el cambio de servidor esta aqui escrito. Creo que igual no he copiado un archivo que no esta dentro de htdocs o que tengo que tocar algo en el panel de administración . AYUDAA porfavor. 

Edited by miquel.cabrera (see edit history)
Link to comment
Share on other sites

  • 3 weeks later...

Me pasa exactamente lo mismo.

Y no se a que es debido.

En mi caso para realizar pruebas he instalado prestashop en 1&1, dentro de un directorio "test" de mi dominio (para que no sea visible desde fuera, ejem: www.midominio.es/test ).

 

Cada vez que accedo al backoffice y le doy a guardar a algo me da ese error (por ejemplo cambiar las URL SEO, o activar el modo mantenimiento), no se porque hace esto.

 

Son mis comienzos con prestaShop y no sé ni por donde empezar.

 

Espero vuestra ayuda, muchas gracias

Link to comment
Share on other sites

Lo he creado/eliminado varias veces (la instalación completa) y no creo que sea eso.

De momento he comentado esa línea que hace una validación, llama a un método Validate, y el resto funciona.

 

Creo que puede tener relación con la versión de PHP instalada en el server (aunque no he podido comprobarlo aún), donde funciona es php 5.4, en el server tengo la versión php 7.

 

Muchas gracias por tu respuesta!,

Un saludo.

Link to comment
Share on other sites

  • 1 month later...

Hi there

 

Im getting this error..

 

 

 

Presta 1.6.0.8

 

 

 

 

Fatal error: Uncaught Error: Access to undeclared static property: Validate::$data in /home/joserui/public_html_sarpe.pt/classes/ObjectModel.php:1041 Stack trace: #0 /home/joserui/public_html_sarpe.pt/controllers/front/AuthController.php(414): ObjectModelCore->validateController() #1 /home/joserui/public_html_sarpe.pt/controllers/front/AuthController.php(252): AuthControllerCore->processSubmitAccount() #2 /home/joserui/public_html_sarpe.pt/classes/controller/Controller.php(171): AuthControllerCore->postProcess() #3 /home/joserui/public_html_sarpe.pt/classes/Dispatcher.php(373): ControllerCore->run() #4 /home/joserui/public_html_sarpe.pt/index.php(28): DispatcherCore->dispatch() #5 {main} thrown in /home/joserui/public_html_sarpe.pt/classes/ObjectModel.php on line 1041

Link to comment
Share on other sites

  • 1 month later...
  • 4 months later...

Change from PHP 7 to PHP 5.6, this is the problem.

 

Hi there

 

Im getting this error..

 

 

 

Presta 1.6.0.8

 

 

 

 

Fatal error: Uncaught Error: Access to undeclared static property: Validate::$data in /home/joserui/public_html_sarpe.pt/classes/ObjectModel.php:1041 Stack trace: #0 /home/joserui/public_html_sarpe.pt/controllers/front/AuthController.php(414): ObjectModelCore->validateController() #1 /home/joserui/public_html_sarpe.pt/controllers/front/AuthController.php(252): AuthControllerCore->processSubmitAccount() #2 /home/joserui/public_html_sarpe.pt/classes/controller/Controller.php(171): AuthControllerCore->postProcess() #3 /home/joserui/public_html_sarpe.pt/classes/Dispatcher.php(373): ControllerCore->run() #4 /home/joserui/public_html_sarpe.pt/index.php(28): DispatcherCore->dispatch() #5 {main} thrown in /home/joserui/public_html_sarpe.pt/classes/ObjectModel.php on line 1041

Link to comment
Share on other sites

  • 4 months later...

Buenas, el problema es cómo se llama a esos métodos estáticos de "Validate"... la solución es irse a "classes/controller/AdminController.php" y editar el fichero añadiendo "{}" entre el "Validate::" y la variable de PHP "$loquesea": por ejemplo: 

 

if( !Validate::$field['validation']($value))

 

lo sustutuimos por:

 

if (!Validate::{$field['validation']}($value))

 

y así con todos los que tengan estas llamadas con variables (ojo con son los que sean Validate::$... )

 

Espero que sirva de ayuda!

  • Like 4
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...