god*_*way 27 php mysql dreamhost laravel laravel-5
我的Laravel 5运行正常,直到配置数据库,然后发现此错误:
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
Run Code Online (Sandbox Code Playgroud)
做一些研究似乎我太晚配置了MySQL访问,所以我应该重启服务器以获得正确的环境变量.好吧,我正在使用Dreamhost的共享服务器而我无法做到这一点.
我该如何解决这个问题?
谢谢
Har*_*rry 59
如果您已php artisan config:cache在服务器上运行,那么您的Laravel应用程序可以缓存您放入.env文件中的过期配置设置.
运行php artisan config:clear来修复它.
小智 14
您的配置变量可能会被缓存.验证您config/app.php和您的.env文件然后尝试
php artisan cache:clear
Run Code Online (Sandbox Code Playgroud)
在命令行上.
Dib*_*Roy 12
需要明确的是,您可以根据具体情况清除 4 种类型的缓存。
php artisan cache:clear
Run Code Online (Sandbox Code Playgroud)
当您希望清除应用程序缓存时,您可以在控制台中运行上述语句。它的作用是清除 storage\framework\cache 中的所有缓存。
php artisan route:cache
Run Code Online (Sandbox Code Playgroud)
这会清除您的路由缓存。因此,如果您添加了新路由或更改了路由控制器或操作,则可以使用此控制器重新加载相同的路由。
php artisan config:cache
Run Code Online (Sandbox Code Playgroud)
这将清除 env 文件的缓存并重新加载它
php artisan view:clear
Run Code Online (Sandbox Code Playgroud)
这将清除应用程序的编译视图文件。
大多数共享主机提供商不提供对系统的 SSH 访问。在这种情况下,您需要创建一个路由并调用以下行:
Route::get('/clear-cache', function() {
Artisan::call('cache:clear');
return "All cache cleared";
});
Run Code Online (Sandbox Code Playgroud)
小智 8
我知道这很旧,但是对于本地开发人员来说,这是将事情返回到生产.env文件的原因:
rm bootstrap/cache/config.php
Run Code Online (Sandbox Code Playgroud)
然后
php artisan config:cache
php artisan config:clear
php artisan cache:clear
Run Code Online (Sandbox Code Playgroud)
一个简短的解决方案:
use Dotenv;
with(new Dotenv(app()->environmentPath(), app()->environmentFile()))->overload();
with(new LoadConfiguration())->bootstrap(app());
Run Code Online (Sandbox Code Playgroud)
在我的情况下,我需要在以编程方式更改 .env 后重新建立数据库连接,但它没有用,如果你遇到这个麻烦试试这个
app('db')->purge($connection->getName());
Run Code Online (Sandbox Code Playgroud)
重新加载 .env 后,那是因为 Laravel App 之前可能已经访问了默认连接,并且\Illuminate\Database\DatabaseManager需要重新读取配置参数。
god*_*way -11
config/database.php我将默认的数据库连接从 mysql 更改为 sqlite 。我删除了该.env文件(实际上已重命名)并使用 .sqlite 文件创建了 sqlite 文件touch storage/database.sqlite。迁移工作使用 sqlite。
然后我将默认的数据库连接切换回config/database.phpmysql并恢复了.env文件。迁移工作与 mysql 一起进行。
我想这没有意义。也许是服务器端的东西。
| 归档时间: |
|
| 查看次数: |
74384 次 |
| 最近记录: |