在共享主机上使用 Laravel 5 ,重新加载 .env 变量而无需重新启动服务器的 MySQL
在使用 Laravel 5 的共享主机上,更改 .env 文件并希望应用程序立即生效可以是一项挑战。由于在共享主机上缺乏更高级的控制,因此您可能无法轻松地向服务器发送 SIGHUP 信号以重新加载 .env 变量。在此情况下,与 MySQL 关系的令人困惑的问题增加了一个难题,并且通常涉及重新启动 MySQL。
幸运的是,我们有一个解决方案!通过在重载数据库配置时重新运行 artisan config:cache 命令,您可以轻松地重新加载 .env 变量而无需重新启动 MySQL。
以下是您应遵循的步骤:
- 登录您的网站控制面板,并转到文件管理器中的网站目录。
-
打开
.env文件并进行更改。 -
打开
app/Providers/AppServiceProvider.php文件并添加以下代码:
use Illuminate\Support\Facades\Config;
public function boot()
{
if (env('DB_HOST') !== 'localhost') {
Config::set('database.connections.mysql.host', env('DB_HOST'));
}
if (env('DB_DATABASE') !== '') {
Config::set('database.connections.mysql.database', env('DB_DATABASE'));
}
Config::set('database.connections.mysql.username', env('DB_USERNAME'));
Config::set('database.connections.mysql.password', env('DB_PASSWORD'));
parent::boot();
}
-
保存文件更改并继续打开终端/SSH。
-
进入网站目录并重新加载数据库配置:
php artisan config:cache
- Done!
现在,您的 MySQL 设置应该已经重新加载,并且您可以在共享主机上使用 Laravel 5 并更改 .env 文件而无需重新启动服务器。
Hello World!
阅读更多:MySQL 教程
极客教程