none
Laravelアプリケーション(App Service)とデータベースの連携について RRS feed

  • 質問

  • 以下の公式ドキュメントを参考にしつつ、データベースはMySQL(in App)にて設定を進めていました。

    Azure で MySQL データベースを作成して接続する
    https://azure.microsoft.com/ja-jp/documentation/articles/store-php-create-mysql-database/


    • 作成したLaravelアプリケーションを`git push azure master`にてプッシュ済み
    • DB_HOSTほかの環境変数設定済み

    Azureポータルのコンソールから`php artisan migrate`を実行すると、かなり時間が経った後に「Bad Request」とだけ表示されます。

    あれこれ試行錯誤したあげく、composer.jsonから`php artisan migrate:install`を実行させたところ、以下のエラーが表示されました。

    ```
    remote: > Illuminate\Foundation\ComposerScripts::postInstall
    remote: > php artisan optimize
    remote: Generating optimized class loader
    remote: .....
    remote: > php artisan migrate:install
    remote:
    remote: Script php artisan migrate:install handling the post-install-cmd event returned with error code 1
    remote:
    remote:   [PDOException]
    remote:   SQLSTATE[HY000] [2002] An attempt was made to access a socket in a way forbidden by its access permissions.
    ```


    `php artisan`を実行するとコマンドの一覧が表示されますので、artisanまでは正常に動作している状態です。よって、DBに接続するコマンドだけがNGだという認識です。

    一方、デプロイしたアプリケーションにアクセスし、DBにアクセスするような機能(ログインなど)を利用しようとすると"QueryException in Connection.php line 729 (中略) Invalid object name 'users'. (以下略)"というエラーが発生します。エラーメッセージからするとコネクションの生成は成功しているが、usersテーブルが見つからない(→migrateができないので当然の結果)状態に見えます。

    以上の状態より何の設定が不足しているのか分かる方はいらっしゃいますでしょうか?

    2016年10月6日 13:37