我有一个由不同框架构成的现有数据库,现在我正在扩展功能以使Laravel API可以与该数据库一起使用。我已经成功连接到数据库,并且API响应正确(这意味着.env
值设置正确),但是在尝试进行新迁移时出现错误。
这是我得到的错误:
Illuminate \ Database \ QueryException:SQLSTATE [HY000] [2002] 操作超时(SQL:从information_schema.tables中选择* 其中table_schema = xxx,table_name = l_migrations)
在/Users/xxx/Projects/xxx/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664 660 | //如果在尝试运行查询时发生异常,我们将格式化错误 661 | //包含SQL绑定的消息,这将使此异常成为 662 | //对开发人员有更多帮助,而不仅仅是数据库的错误。 663 | catch(例外$ e){
664 |抛出新的QueryException( 665 | $ query,$ this-> prepareBindings($ bindings),$ e 666 | ); 667 | } 668 |
异常跟踪:
1 PDOException::(“ SQLSTATE [HY000] [2002]操作超时”) /Users/xxx/Projects/xxx/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
2 PDO :: __ construct(“ mysql:host = 192.168.0.1; port = 3306; dbname = xxx”, “ xxx”,“ xxx”,[]) /Users/xxx/Projects/xxx/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
我也尝试过做php artisan migrate:install
,但是migrations
表不会被创建,我想这就是问题所在。
在旁注中,我正在DB_PREFIX
中使用.env
,并在database.php
中进行如下设置:
'prefix' => env('DB_PREFIX', '')
另一方面,数据库位于单独的Docker容器中。
答案 0 :(得分:-1)
如果您使用的是apache,请在apache配置文件中将超时增加到600或1000。