获取SQLSTATE [HY000] [2002]在AppEngine上没有这样的文件或目录

时间:2017-12-24 08:43:38

标签: php laravel google-app-engine

我已经在gcloud App Engine上部署了应用程序,我已经成功部署但是获得了 SQLSTATE [HY000] [2002]没有这样的文件或目录,而它在本地系统上工作正常。 我正在关注https://cloud.google.com/community/tutorials/run-laravel-on-appengine-flexible本教程。

我也跟着https://www.youtube.com/watch?v=QhQ1PrYH3q0&t=230s,但遇到同样的问题。

Webstie网址:https://phpsipl1.appspot.com/

我的app.yml文件是:

runtime: php
env: flex

runtime_config:
  document_root: public

# Ensure we skip ".env", which is only for local development
skip_files:
  - .env

env_variables:

  # Put production environment variables here.

  APP_LOG: errorlog
  APP_KEY: base64:DZaQGd2hg/irj0YeTQtZxb3bY6Em25gMlLmoY8oDK7E=
  STORAGE_DIR: /tmp
  CACHE_DRIVER: database
  SESSION_DRIVER: database
  DB_HOST: localhost
  DB_DATABASE: blog
  DB_USERNAME: root
  DB_PASSWORD: target@2017
  DB_SOCKET: "/cloudsql/phpsipl1:us-central1:phpsipl"
beta_settings:
  cloud_sql_instances: "phpsipl1:us-central1:phpsipl" 

请帮帮我。

2 个答案:

答案 0 :(得分:1)

莫因, 你可以尝试在配置中使用127.0.0.1而不是localhost。 在MySQL术语中,有关连接到套接字的127.0.0.1和localhost之间存在差异。 有关详细信息,请参阅https://serverfault.com/questions/295285/mysql-cannot-connect-via-localhost-only-127-0-0-1。

答案 1 :(得分:0)

我也遇到了同样的问题,但是在我的DB_CONNECTION: mysql的{​​{1}}中添加了env_variables对我来说很成功。