shinke1987.net
雑多な備忘録等のはず。
他のカテゴリ・タブ
目次
PR

GAE(PHP)でComposer経由のライブラリの動作確認

2024-08-08 2024-08-08
カテゴリ: GCP PHP

前提

ローカル開発用サーバまで構築済み。

ローカル環境 → OS:macOS 14.5 sonoma

前回の内容はこちら。

ディレクトリ構成

下記ディレクトリ構成で行う。

root
├ app.yaml
├ index.php
└ vendorディレクトリ
  ├ autoload.php
  └ ...

index.php の内容

<?php

require_once './vendor/autoload.php';

$faker = Faker\Factory::create();

?>

<html>
  <head>
    <title>default</title>
  </head>
  <body>
    default<br>
    <br>
    <?php echo $faker->name(); ?>
  </body>
</html>

app.yaml の内容

前回のものと同じ内容なので省略。

Composerでライブラリを準備

ダミーデータを作る時に有用なFakerPHPを利用して動作確認を行う。

下記コマンドを実行するだけで良い。

% composer require fakerphp/faker

開発用サーバ

開発用サーバ起動

下記コマンドを実行する。

% python3 ~/Development/GoogleAppEngine/google-cloud-sdk/bin/dev_appserver.py --php_executable_path=/opt/homebrew/bin/php --application=プロジェクトID --port=9999 app.yaml

すると、下記のエラーが表示される。

    raise _ComposerBinaryError(
google.appengine.tools.devappserver2.php.instance_factory._ComposerBinaryError: file composer.json was present but Composer binary was not found. Please provide --php_composer_path flag.

composerのパスを指定してね、ということなので、指定する。

% python3 ~/Development/GoogleAppEngine/google-cloud-sdk/bin/dev_appserver.py --php_executable_path=/opt/homebrew/bin/php --php_composer_path=/opt/homebrew/bin/composer --application=プロジェクトID --port=9999 app.yaml

これで開発用サーバが起動した。

確認

Webブラウザでhttp://localhost:9999 にアクセスして、ページを更新するたびに表示される名前が変わることを確認すれば良い。

デプロイ

下記コマンドでデプロイでき、動作確認もできた。

% gcloud app deploy
同一カテゴリの記事