我正在使用 Laravel 5.3,并按照本教程设置 Google Cloud:
https://cloud.google.com/community/tutorials/run-laravel-on-appengine-standard
我正试图运行数据库迁移,因此我执行以下操作:
export DB_DATABASE=db DB_USERNAME=root DB_PASSWORD=<my_db_password> DB_SOCKET="<my_connection_name>"
php artisan migrate --force
但我在终端上得到以下输出:
[Illuminate\Database\QueryException]
SQLSTATE[HY000] [2002] 没有此文件或目录 (SQL: 从 information_schema.tables 中选择 *,
其中 table_schema = db 和 table_name = migrations)[Doctrine\DBAL\Driver\PDOException]
SQLSTATE[HY000] [2002] 没有这样的文件或目录[PDOException]
SQLSTATE[HY000] [2002] 没有该文件或目录
如果我尝试通过 MySQL Workbench 连接到服务器,它可以正常连接。
这是我的 app.yaml 文件(我删除了敏感信息):
runtime: php72
runtime_config:
document_root: public
env_variables:
APP_LOG: errorlog
# Application key
APP_KEY: <my_app_key>
# Storage path
APP_STORAGE: /tmp
VIEW_COMPILED_PATH: /tmp
CACHE_DRIVER: database
SESSION_DRIVER: database
# Database configuration
DB_CONNECTION: mysql
DB_SOCKET: /cloudsql/<my_connection_name>
DB_HOST: 127.0.0.1
DB_PORT: 3306
DB_DATABASE: db
DB_USERNAME: root
DB_PASSWORD: <my_db_password>
beta_settings:
cloud_sql_instances: "<my_connection_name>"
我也尝试更改127.0.0.1
为localhost
,但出现同样的错误。
我究竟做错了什么??