JuC Posted October 18, 2013 Share Posted October 18, 2013 (edited) 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 October 22, 2013 by JuC (see edit history) Link to comment Share on other sites More sharing options...
Envelo Posted October 18, 2013 Share Posted October 18, 2013 Hola, según parece poner tienes una versión muy antigua de mysql Saludos Link to comment Share on other sites More sharing options...
JuC Posted October 18, 2013 Author Share Posted October 18, 2013 (edited) No lo entiendo. En mi servidor pone esto: mysql-server 5.1.54_1 Creo que es bastante nueva no? Además el anterior host, en el que desarollé la tienda es 5.1.66 Saludos! Edited October 18, 2013 by JuC (see edit history) Link to comment Share on other sites More sharing options...
gruposte Posted October 18, 2013 Share Posted October 18, 2013 (edited) 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 October 18, 2013 by gruposte (see edit history) Link to comment Share on other sites More sharing options...
JuC Posted October 18, 2013 Author Share Posted October 18, 2013 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 More sharing options...
JuC Posted October 22, 2013 Author Share Posted October 22, 2013 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 More sharing options...
Recommended Posts