GAEでWordPressを運用する上でつまづいたところ
参考資料
WordPressをGAEにデプロイする方法は英語記事ですが公式のものがあり、これを参照するのが良いと思います。
Run WordPress on Google App Engine standard environment
Cloud Storageにアップロードされたファイルのフォルダ構造
WordPressからファイルをアップロードすると1/2019/11/xxxx.jpg
のようにWordPressで設定したフォルダ構造の前に1
というフォルダが作られます。
この数字は何かというと、get_current_blog_id()
で返却される値です。
マルチブログ機能に対応するためのもので、復数ブログを運用することを想定されているようです。
デプロイするファイル
ローカルで開発してそのままデプロイするとwp-content/uploads/
など不要なファイルもデプロイしてしまいます。
基本的にWordPress用の.gitignoreで除外されているファイルはアップロードされるべきではありません。
GAEにデプロイするとき除外するファイルを指定する.gcloudignore
にこれらのファイルを含めても良いですが、デプロイするときに最新のファイルをcloneしてきてそれをデプロイした方が安全な気がします。
その上で.gcloudignore
は以下のように私はしています。
1 | .gcloudignore |
デプロイ用のシェルは以下のようにしています。
最新だけcloneしてきて、デプロイして、消すという手順です。
1 | git clone --depth 1 git@github.com:kido0617/xxxxxxx.git |
siteamp.xmlが読めない
Google XML Sitemaps
プラグインを使用しているのですが、/sitemap.xml
にアクセスするとParse error: syntax error,
でアクセスできず。
GAE上でファイルは動的に生成できないのでその関係かと思いましたが、このプラグインは動的に生成はしていないようです。
結果はshort_open_tag
がOnでxmlが読み込めていないのが原因でした。
php.iniにshort_open_tag = Off
を追加して解決しました。