最近になってようやくGoogle AppEngine (以下GAE)を使いだし、自サイトをその上で動かせるよう試行錯誤しています。
前置き
私の主サイトは古くからPHPで動かしていて(初期の頃はLegacy ASPで動かしていたこともありました)、GAEでPHPがサポートされてからいつか移植して動かしてみたい。と思っていたのですが、ベースとしていたフレームワークが古く、composerも使用していない状態のものだったため、最近になり、重い腰を上げてLaravelに置き換えるまでなかなか移植できずにいました。
GAEで開発していると、自分で好き勝手にモジュールをインストールして動かしていた環境と異なり、ある程度の制約を受けつつその中で作るようになります。幸いにも既存機能については代替の外部APIなどに置き換える事でほとんど移植可能になりそうとなりました。
本題
前置きが長くなりましたが、開発している中で、composerでインストールしたパッケージが、GAE上では何故かインストールされないことがありました。
具体定期には、GAEは実質Dockerコンテナなので、永続的なファイル管理はできません。そこで、内部で使用するストレージ部分はGoogle Cloud Storageに置き換えようと思い、google/cloud-storageを使用して通信する処理に置き換えるなどしたのですが、何度デプロイしてもこのパッケージがデプロイされず、参照できずにエラーとなっていました。