Jump to content

(SOLUCIONADO) Problemas al migrar de un hosting a otro [PS 1.5.4]


Recommended Posts

Buenas a todos,
Tenía mi tienda en un hosting y ahora la necesito migrar  a otro. El caso es que he seguido diferentes tutoriales y ninguno me ha dado resultado, la tienda y el backend siempre se me quedaban en blanco. Habilitaba el modo debug y los errores pero no aparecía nada. Pensando que es problema del hosting, lo he puesto en otro y me he encontrado que tampoco me funciona pero me sale este error:

Warning: PDO::__construct() [pdo.--construct]: Premature end of data (mysqlnd_wireprotocol.c:553) in /usr/home/xxxxx.com/web/xxxx/classes/db/DbPDO.php on line 46

Warning: PDO::__construct() [pdo.--construct]: OK packet 1 bytes shorter than expected in /usr/home/xxxxx.com/web/xxxx/classes/db/DbPDO.php on line 46
Link to database cannot be established: SQLSTATE[HY000] [2000] mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file

No sé qué quiere decir y no encuentro por ningún lado qué pasa. Además en el otro hosting (en el que realmente tengo que colgarla) no sale nada, eso por qué debe ser?

 

Espero vuestra ayuda. Muchas gracias!

Saludos,

Jairoubeda

Edited by JuC (see edit history)
Link to comment
Share on other sites

Hola, espero poder ayudar un poco aunque no tengo muchos datos de como hiciste la migración, yo acabo de migrar un sitio hace unos días y no hubo errores.

 

Que versión de PHP tiene el viejo hosting y que versión el nuevo?

 

El error te dice que no puede conectar con tu BD porque al parecer en tu viejo hosting la versión de MySQL usaba otro tipo de encriptación en el password de las cuentas que conectan a la BD, en este nuevo te pide una mejor encriptación y por eso no puede conectar con las contraseñas que tenias antes. Te dice que lo resuelvas entrando a MySQL como admin y metiendo una query sql puedes encriptar tus viejos passwords de la manera en que lo reconoce tu hosting.

 

Ahora, si estas en un hosting compartido no vas a tener ciertos accesos de configuración al MySQL pero si levantas un ticket es muy probable que te lo arreglen ellos, esto es lo que deben hacer:

poner a esta variable esto: old_passwords=0 en el archivo my.cnf
Reiniciar el servidor mysql
ingresar al mysql como usuario root
ejecutar: FLUSH PRIVILEGES;

después hay que actualizar la encriptación de los passwords con una consulta como la siguiente:

UPDATE mysql.user SET Password = PASSWORD('aqui tu password') WHERE user = 'aqui tu usuario';

eso lo hará tu proveedor de hosting, explícales el error que te da.

 

Es un claro error de MySQL y compatibilidad de versiones con el cliente que se va conectar a esa BD (en este caso PHP), no tiene que ver con tu sitio prestashop según yo, pero creo que tal vez estas haciendo el respaldo y migración de una manera complicada o equivocada, igual y si nos explicas los pasos podríamos solucionarlo sin contactar al hosting.

 

como respaldaste la BD anterior y como la importaste al nuevo hosting? tal ves por ahí va...

 

Espero que te ayude un poco o mínimo te vaya llevando a la mejor solución, me gustaría que intentes eso y nos cuentes en que quedó,

 

Un saludo!

 

 

PD2. Te dejo un link donde explican el problema a detalle: http://dev.mysql.com/doc/refman/5.0/es/password-hashing.html

Edited by gruposte (see edit history)
Link to comment
Share on other sites

Buenas! Muchas gracias por tu respuesta. Te explico los pasos que he seguido. Una vez completada mi tienda en un hosting, tengo que moverla al hosting final por lo que hice lo siguiente:

 

1- Backup de los ficheros vía FTP y restaurarlo en el nuevo hosting

2- Backup de la base de datos y restaurarla en el nuevo hosting

3- Cambiar variables del fichero settings.inc.php apuntando al nuevo servidor, base de datos, password, etc.

4- Entrar  a la base de datos y cambiar en la tabla PS_SHOP_URL apuntando al nuevo dominio y URI

5- Encontré en la tabla PS_CONFIGURATION la clave PS_SHOP_DOMAIN y SHOP_DOMAIN_SSL que también actualicé con los datos del nuevo dominio.

Hecho esto comprobé y todo me salía en blanco, backend y frontend. Me volví loco probando mil cosas y nada me ha servido. Probé a activar el modo debug para ver qué error me salía pero no salía, nada. Todo en blanco. Activé los errores de otra forma y tampoco.
Una vez hecha todas estas comprobaciones moví la tienda a otro hosting de otra empresa para comprobar si allí funcionaba o qué. Repetí los pasos y también me salió en blanco, sin embargo al activar los errores me sale el error descrito unos posts más arriba y el cual tu me has aclarado un poco.

Gracias por tu tiempo y espero que me puedas ayudar :(

Saludos,JuC!

Link to comment
Share on other sites

Buenas a todos ya está solucionado todo. Os dejo aquí por si a alguien más le pasa:

El problema era que el hosting tenía una versión de PHP antigua. Ellos se encargaron de poner la versión 5 y todo funciona a la perfección.

Saludos,JuC!

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...