When using the Cloud Admin to set the root userid, this password is only 
set for root@% not root@localhost [and presumably not root@127.0.0.1]

When connecting remotely by ip address, you can use the root password since 
the % matches.   When connecting from a deployed Google App Instance, the 
root user cannot use the password that was set since it checks against 
root@localhost instead of %.  Updating the password for root@localhost 
through the remote mysql connection allows internal access.

Slightly problematic is the instance naming convention:
/cloudsql/overnumerousness-site:joomla

In the Joomla CMS, and many other traditional open source apps, the 
database connection info is generally stored as host:port:socket and a 
simple explode call on the string yields all 3 variables:
host
port
socket

So a simple configuration for Cloud SQL would be: 
::/cloudsql/overnumerousness-site:joomla

But when passed through a brain dead explode, this means the database 
name[the :joomla part] is lost.  

For Joomla, it is using regular expressions to handle ip4, ip6, and a bunch 
of other oddball configs.  There the format would be:
localhost:/cloudsql/overnumerousness-site:joomla  and it would determine 
whether to use the second half as a port or a socket based on whether it 
was a number or a string - but again it is still losing te :joomla so it 
will fail.

If it is possible to use a different seperator in the socket string, ie 
/cloudsql/overnumerousness-site__joomla then PHP apps using the colon as a 
break indicator will work with fewer changes.

Since Joomla! uses lazy class loading/autoloading by default for all it's 
classes - and since GAE allows for a running initialization scripts before 
executing the traditional scripts, I found it relatively easy to fix by 
adding a modified mysqli database class for Joomla! and making sure the 
directory it is in will be checked before the Joomla! classes so it will 
override it.
https://github.com/garyamort/joomla-gae/tree/overnumerousness

So I think this issue is mostly just a minor nit, there is an easy 
workaround.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to