Google App Engine recently added support for modules. And I’m almost certain I remember someone saying you can have modules with different runtimes. Your default app can be Python and a module could be in Java or PHP for example. And the module configuration file does make you specify the runtime for that module.
So why then can I not figure out how to run a PHP module inside a Python app?
I have a dispatch.yaml
that contains:
dispatch:
- url: "*/blog*"
module: blog
And a blog.yaml
for the module which contains:
module: blog
version: wp
runtime: php
api_version: 1
and a bunch of handlers for WordPress.
Has anyone else been able to do this successfully?
In this case I want to run a wordpress blog under http:/www.domain.com/blog
instead of under a sub-domain for SEO reasons.
It seems the appengine SDK is not using the module because if I try to go to /blog
it just gives me a 404 error.
I’ll continue to play with this and post an update if I find a solution.
I have everything working now. Google fixed some issues in version 1.8.5 making this possible. It’s actually not that hard, you just have to remember to run appcfg.py update_dispatch in order to make the dispatch routing live. And also when deploying do appcfg.py update app.yaml wordpress.yaml
That way both configurations are uploaded and deployed.
Currently git push to deploy is still broken and in order to upload images wordpress wp-admin has to be running on the appspot.com domain which is not too big of a deal.
I wrote a blog post describing everything that I did to make it work:
http://blog.artooro.com/2013/10/09/run-wordpress-as-a-module-on-google-app-engine/