IV-GII / GII-2013

Repositorio para el material específico de cada clase, planificación y ejercicios.
Apache License 2.0
8 stars 67 forks source link

Problema en OpenShift para conexión con base de datos #12

Closed antonioguirola closed 10 years ago

antonioguirola commented 10 years ago

He subido la práctica del periódico web que desarrollé el curso pasado en TW a OpenShift, he seguido los pasos para configurar la BD pero a la hora de realizar consultas me devuelve el siguiente error y no encuentro el resultado:

Conexión fallida: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

El enlace es: http://appdeprueba-antonioguirola.rhcloud.com

torresj commented 10 years ago

Usas para crear la conexión a la base de datos las variables correctas? Hay dos variables globales de PHP que se crean cuando añades mysql a la aplicación en openshift

torresj commented 10 years ago

En este enlace puedes ver al final como añade la base de datos. Es para windows pero saltate esa parte http://xmeele.wordpress.com/2013/03/27/guia-completa-de-openshift-de-red-hat-para-principiantes-windows/

elmendacorp commented 10 years ago

puede ser que la conexión no la reconozca como localhost, tal vez tengas un subdominio propio donde se alojan las bases de datos.

JJ commented 10 years ago

Por lo que parece aquí: https://www.openshift.com/blogs/manipulate-your-paas-database yo diría que no usa sockets para acceder a la base de datos, sino un URL determinado del estilo

mysql://127.3.110.129:3306/

Prueba a usar rhc para crear el app y añadir el cartucho y usa las variables que te dé en el mismo.

El 14 de octubre de 2013 14:48, Jaime notifications@github.com escribió:

Usas para crear la conexión a la base de datos las variables correctas? Hay dos variables globales de PHP que se crean cuando añades mysql a la aplicación en openshift

— Reply to this email directly or view it on GitHubhttps://github.com/IV-GII/GII-2013/issues/12#issuecomment-26252876 .

JJ

JJ commented 10 years ago

Aquí da una poca más información https://www.openshift.com/forums/express/mysql-db-name En algunos casos (de hecho, en la mayoría) será conveniente que uséis los propios foros del sitio o aplicación que estéis usando para preguntar, en este caso el de OpenShift

El 14 de octubre de 2013 17:41, JJ Merelo jjmerelo@gmail.com escribió:

Por lo que parece aquí: https://www.openshift.com/blogs/manipulate-your-paas-database yo diría que no usa sockets para acceder a la base de datos, sino un URL determinado del estilo

mysql://127.3.110.129:3306/

Prueba a usar rhc para crear el app y añadir el cartucho y usa las variables que te dé en el mismo.

El 14 de octubre de 2013 14:48, Jaime notifications@github.com escribió:

Usas para crear la conexión a la base de datos las variables correctas?

Hay dos variables globales de PHP que se crean cuando añades mysql a la aplicación en openshift

— Reply to this email directly or view it on GitHubhttps://github.com/IV-GII/GII-2013/issues/12#issuecomment-26252876 .

JJ

JJ

antonioguirola commented 10 years ago

Ya he solucionado el problema, al menos parcialmente. Estaba relacionado con las variables. Siguiendo las instrucciones de https://www.openshift.com/blogs/manipulate-your-paas-database he establecido en mi archivo de configuración de MySQL con los datos de mi aplicación las líneas:

for MySQL

OPENSHIFT_MYSQL_DB_PORT=3306 OPENSHIFT_MYSQL_DB_HOST=127.3.110.129 OPENSHIFT_MYSQL_DB_PASSWORD=smWh27V9eYaq OPENSHIFT_MYSQL_DB_USERNAME=admin OPENSHIFT_MYSQL_DB_URL=mysql://admin:smWh27V9eYaq@127.3.110.129:3306/

Tras hacer eso ya no me aparece el error de socket, sin embargo, ahora no me muestra nada en la zona donde debería cargar el PHP.

Y aquí está cómo se debe ver: http://bahia.ugr.es/~x25601566/periodicoII/

A partir de aquí supongo que será un error de mi aplicación la depuraré a ver si encuentro el problema. Gracias por la ayuda

JJ commented 10 years ago

Antonio, ¿no habrás puesto tu verdadera clave públicamente? Si es así, edita y borra. Después, si se ha solucionado cierra el ticket.

antonioguirola commented 10 years ago

Los datos ahí puestos son los del foro de ejemplo.

He eliminado el repositorio.

JJ commented 10 years ago

Puedes borrar el commit, con eso sería suficiente