Laravel 5.5 无法连接到数据库
Laravel 5.5 can't connect to database
我有一个幼虫,我想让它投入生产。我在 infomaniak.com 上有一个服务器托管和数据库。
我已上传所有文件,但出现 SQL 超时错误:
SQLSTATE[HY000] [2002] Connection timed out (SQL: select * from
characters
where checked
= 1 order by RAND() limit 1)
我在 infomaniak 上还有一个 Laravel 网站,没有这个问题。我检查了我的 .env
文件,我的 /config/database
文件并尝试 php artisan config:clear
或 php artisan cache:clear
。我也试了一下dump DB:connection()
连接信息都对
我可以在本地连接到我的 homestead 数据库并且工作正常。但是,当我尝试使用相同的 .env
文件连接到与我的其他网站相同的数据库时,仍然出现超时错误。
我该如何解决这个问题?有没有办法清除另一个缓存?完全迷失了:/
编辑:
如果我尝试:
if(DB::connection()->getDatabaseName()) {
echo "Yes! successfully connected to the DB: " . DB::connection()->getDatabaseName();
}
页面returnYes! successfully connected to the DB: db_name
编辑 2:
我刚刚看到我的托管服务器在 PHP 5.6,但它说我的网站在 PHP 7。真的很混乱,但也许这个信息很重要(有另一个 laravel在此服务器上并像那样工作)
你的问题是 php 版本,如果你使用 laravel 5.5 那么你的主机必须安装 php 7。
查看官方文档here
我有一个幼虫,我想让它投入生产。我在 infomaniak.com 上有一个服务器托管和数据库。
我已上传所有文件,但出现 SQL 超时错误:
SQLSTATE[HY000] [2002] Connection timed out (SQL: select * from
characters
wherechecked
= 1 order by RAND() limit 1)
我在 infomaniak 上还有一个 Laravel 网站,没有这个问题。我检查了我的 .env
文件,我的 /config/database
文件并尝试 php artisan config:clear
或 php artisan cache:clear
。我也试了一下dump DB:connection()
连接信息都对
我可以在本地连接到我的 homestead 数据库并且工作正常。但是,当我尝试使用相同的 .env
文件连接到与我的其他网站相同的数据库时,仍然出现超时错误。
我该如何解决这个问题?有没有办法清除另一个缓存?完全迷失了:/
编辑:
如果我尝试:
if(DB::connection()->getDatabaseName()) {
echo "Yes! successfully connected to the DB: " . DB::connection()->getDatabaseName();
}
页面returnYes! successfully connected to the DB: db_name
编辑 2:
我刚刚看到我的托管服务器在 PHP 5.6,但它说我的网站在 PHP 7。真的很混乱,但也许这个信息很重要(有另一个 laravel在此服务器上并像那样工作)
你的问题是 php 版本,如果你使用 laravel 5.5 那么你的主机必须安装 php 7。
查看官方文档here