phpMyAdmin en GAE – Autenticación

Configuré phpmyadmin en GAE utilizando el tutorial proporcionado @ https://gaeforphp-blog.appspot.com/2013/05/26/setting-up-phpmyadmin-on-app-engine/

Se puede acceder a la versión de la aplicación (phpmyadmin) sin problemas, pero parece que no puedo autenticarme contra mi instancia de Cloud SQL.

He intentado la autenticación de cookie y de tipo de configuración sin éxito. Sin embargo, he descubierto que, con la autenticación de cookies, después de enviar la contraseña de usuario, la página se vuelve a cargar sin errores.

Si utilizo config auth, aparece el siguiente error en la página:

2002 – No se pudo encontrar el transporte de socket “tcp” – ¿Olvidaste habilitarlo cuando configuraste PHP?

El servidor no responde (o el socket del servidor local no está configurado correctamente).

Todas las búsquedas de google me apuntan a la biblioteca ssl en php. ¿Alguien ha podido obtener phpmyadmin para trabajar en GAE?

Hubiera preferido si la entrada de blog real (@ gaeforphp-blog.appspot.com) admitiría comentarios para hacerle la pregunta al autor, lamentablemente no es el caso.

Por lo tanto, está viendo este error porque la cadena de conexión que está utilizando no es correcta, y no sabemos si está intentando conectarse a CloudSQL.

Si está usando mysql, asegúrese de tener ‘: / cloudsql /’ frente al nombre de la instancia.

No sabía que el blog no aceptaba comentarios. Lo arreglaré.

Estas fueron las líneas o cambiadas en mi archivo phpMyAdmin 4.1.6.0 config.inc.php :

 $cfg['Servers'][$i]['host'] = ':/cloudsql/:'; $cfg['Servers'][$i]['extension'] = 'mysql'; $cfg['Servers'][$i]['AllowNoPassword'] = true; $cfg['Servers'][$i]['connect_type'] = 'socket'; $cfg['Servers'][$i]['AllowRoot'] = true; 

Y luego agregué las siguientes líneas:

 $cfg['McryptDisableWarning'] = true; $cfg['PmaNoRelation_DisableWarning'] = true; $cfg['ExecTimeLimit'] = 60; $cfg['CheckConfigurationPermissions'] = false; 

Consideraciones:

  • Al cambiar $cfg['Servers'][$i]['AllowNoPassword'] a true , está permitiendo que cualquiera inicie sesión como root sin contraseña. Por lo tanto, es posible que desee utilizar esto solo para el primer inicio de sesión para crear un nuevo usuario / contraseña con privilegios limitados y luego volver a cambiarlo a false (o puede usar la Consola de Could y no cambiar esto en absoluto).
  • El $cfg['Servers'][$i]['extension'] = 'mysql' realidad me sirvió. No sé por qué, pero parece que mysqli no estaba habilitado en mi archivo de configuración php.

Enlaces que utilicé:

Lo único que funcionó para mí es la siguiente configuración.

 $cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$i]['socket'] = '/cloudsql/project-id:db-instance'; $cfg['Servers'][$i]['connect_type'] = 'socket'; $cfg['Servers'][$i]['extension'] = 'mysql'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = true; $cfg['Servers'][$i]['AllowRoot'] = true; $cfg['McryptDisableWarning'] = true; $cfg['PmaNoRelation_DisableWarning'] = true; $cfg['ExecTimeLimit'] = 60; $cfg['CheckConfigurationPermissions'] = false; 

Todas las demás configuraciones fallaron con todo tipo de mensajes de error. Desde socket no encontrado a errores gethostbyaddr, etc. ¡Buena suerte!