Google App EngineでPHPがローカルでも上手く動かない…。

現在、SynologyのNASを利用し社内サイトを運営しています。

中長期的なものを視野に入れ、外部サーバーの運営がいいのではと、現状の社内サイトで利用しているPHP言語が利用可能なGoogle App Engineの利用視野に入れ環境構築を進めました。

いざ環境構築

公式のチュートリアルを参考にし、ローカルサーバでWEBサーバは動くものの、phpが解釈されず、動作しない事象が発生しました。

ローカルだけかと思いつつ、そのままデプロイしてもその事象は変わらず。

原因はなんだ?

phpのエンジンか?

phpのエンジンは、Google Cloud SDKに内包されているのではと思いつつ、phpをローカルでpathを通しても動作せず。

pathを通せばいいのか?

ローカルのphpに照準を合わせ、

dev_appserver.py . –php_executable_path C:\php\php-cgi.exe

としてみたものの、下記のErrorで動作せず。

ERROR 2017-05-09 19:36:04,548 php_runtime.py:348] The PHP runtime is not available

SDKをインストールする際に一緒に入ってきていた下記のphpエンジンにpathを通しても、通らず。

C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\php\php-5.5-Win32-VC11-x86

app.yamlか?

app.yamlの記述かなーと思いつつも、チュートリアルままでも動作せず。

結果

悪戦苦闘しつつ、どうにか解決しました。

  • ファイル群を格納するフォルダは、パス名に2バイト文字が無いようにする。
    • 多分これが一番の原因のはず。
  • 下記のファイル群を利用しつつ、再構成。

C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\php\new_project_template

  • 文字コードをUTF-8N、改行コードをCRLFとし、下記を宣言

header(“Content-Type: text/html; charset=UTF-8”);

これでどうにか動くようになりました。

 

さぁ、これで山口建設の社内システムが中長期的な視野で運用できる幅が広がりました!

これでより効率化が図れるシステム構築が出来ると思うと個人的には楽しみです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です