質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Google App Engine

Google App Engineは、Googleの管理するデータセンター上でウェブアプリケーションの開発が可能なクラウドコンピュータ技術です。Java、Python、Go用にSDKが用意されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

5888閲覧

LaravelをGAE + Cloud SQL で動かしたい

k-okina

総合スコア16

Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Google App Engine

Google App Engineは、Googleの管理するデータセンター上でウェブアプリケーションの開発が可能なクラウドコンピュータ技術です。Java、Python、Go用にSDKが用意されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2017/06/17 02:04

編集2017/06/17 02:09

GAEでlaravelを動かす際に、cloud sdkを使って gcloud app deploy でローカルからとりあえずアップしてるのですが、正常に動きません。
内容は、LPは見れるのですが、cloud sqlとのコネクションの設定の記載が間違ってるのかと思うのですが、何が間違えているのか、何日使ってもわからなかったので、助けてくれると幸いです、、、
GAEとCloud sqlは同一リージョンで、SQLにはGAEからは自由にアクセス可能と書いてあります。。。
rootユーザーのパスワードはrootと指定しています。
何卒お願いします、、、、
laravelプロジェクトの状態
laravel new blogでプロジェクトを作成し、php artisan make:authでlogin画面とregister画面を作成して.envとapp.yamlを作成した状態です。

.envの状態

APP_NAME=Laravel APP_ENV=develop APP_KEY=base64:KUZNA7sE7Ei+ovEzZbXvRxssPTTzi4IzSeTj0sK6fXw= APP_DEBUG=true APP_LOG_LEVEL=debug APP_URL=http://localhost DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=root DB_SOCKET="/cloudsql/hogehoge-167400:us-central1:test" BROADCAST_DRIVER=log CACHE_DRIVER=file SESSION_DRIVER=file QUEUE_DRIVER=sync REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= STORAGE_DIR=/tmp CACHE_DRIVER=database SESSION_DRIVER=database APP_LOG=errorlog

app.yamlの状態

runtime: php env: flex runtime_config: document_root: public beta_settings: # for Cloud SQL, set this value to the Cloud SQL connection name, cloud_sql_instances: "hogehoge-167400:us-central1:test"

error logの一部

develop.ERROR: PDOException: SQLSTATE[HY000] [2002] No such file or directory in /app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:68 Stack trace: #0 /app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(68): PDO->__construct('mysql:unix_sock...', 'root', 'root', Array) #1 /app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(44): Illuminate\Database\Connectors\Connector->createPdoConnection('mysql:unix_sock...', 'root', 'root', Array) #2 /app/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php(24): Illuminate\Database\Connectors\Connector->createConnection('mysql:unix_sock...', Array, Array) #3 /app/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(183): Illuminate\Database\Connectors\MySqlConnector->connect(Array) #4 [internal function]: Illuminate\Database\Connectors\ConnectionFactory->Illuminate\Database\Connectors\{closure}() #5 /app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(883): call_user_func(Object(Closure)) #6 /app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(904): Illuminate\Database\Connection->getPdo() #7 /app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(392): Illuminate\Database\Connection->getReadPdo()

error logのもう1例 (文字制限のため切り取り

Whoops, looks like something went wrong. (2/2) QueryException SQLSTATE[HY000] [2002] No such file or directory (SQL: select count(*) as aggregate from `users` where `email` = awef@a.a) in Connection.php (line 647) at Connection->runQueryCallback('select count(*) as aggregate from `users` where `email` = ?', array('awef@a.a'), object(Closure)) in Connection.php (line 607) at Connection->run('select count(*) as aggregate from `users` where `email` = ?', array('awef@a.a'), object(Closure)) in Connection.php (line 326) at Connection->select('select count(*) as aggregate from `users` where `email` = ?', array('awef@a.a'), false) ... (1/2) PDOException SQLSTATE[HY000] [2002] No such file or directory in Connector.php (line 68) at PDO->__construct('mysql:unix_socket=/cloudsql/hogehoge-167400:us-central1:test;dbname=laravel', 'root', 'root', array(0, 2, 0, false, false)) in Connector.php (line 68) at Connector->createPdoConnection('mysql:unix_socket=/cloudsql/hogehoge-167400:us-central1:test;dbname=laravel', 'root', 'root', array(0, 2, 0, false, false)) in Connector.php (line 44) at Connector->createConnection('mysql:unix_socket=/cloudsql/hogehoge-167400:us-central1:test;dbname=laravel', array('driver' => 'mysql', 'host' => 'localhost', 'port' => '3306', 'database' => 'laravel', 'username' => 'root', 'password' => 'root', 'unix_socket' => '/cloudsql/hogehoge-167400:us-central1:test', 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, 'name' => 'mysql'), array(0, 2, 0, false, false)) in MySqlConnector.php (line 24) at MySqlConnector->connect(array('driver' => 'mysql', 'host' => 'localhost', 'port' => '3306', 'database' => 'laravel', 'username' => 'root', 'password' => 'root', 'unix_socket' => '/cloudsql/hogehoge-167400:us-central1:test', 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, 'name' => 'mysql')) in ConnectionFactory.php (line 183) at ConnectionFactory->Illuminate\Database\Connectors\{closure}() at call_user_func(object(Closure)) in Connection.php (line 883) at Connection->getPdo() in Connection.php (line 392) at Connection->getPdoForSelect(false) in Connection.php (line 318)

何日も、何十時間やっても動かなくて、本当に何卒よろしくお願いします、、、

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Google App Engine から接続するCloud SQL と PHP を App Engine 標準環境で使用する 等のドキュメントを読んだ感じでは、ドキュメントに書かれているサンプルでは

env_variables: # Replace project, instance, database, user and password with the values obtained # when configuring your Cloud SQL instance. MYSQL_DSN: mysql:unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME;dbname=DATABASE MYSQL_USER: root MYSQL_PASSWORD: ''

となっているので、以下のような設定で、接続できないでしょうか?

DB_CONNECTION=mysql DB_HOST= DB_PORT= DB_DATABASE=DATABASE DB_USERNAME=root DB_PASSWORD= DB_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME

投稿2017/06/17 03:00

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k-okina

2017/06/17 07:12

ありがとうございます!!! ポートもホストもあえて指定しないのはやった事ないです! 環境整え次第試してみます!
k-okina

2017/06/17 15:51

変わらず動かなかったです。。。。orz
k-okina

2017/06/17 16:55

動きました! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問