Php 如何配置Laravel应用程序以使用heroku PostgreSQL?
我目前正在从事一个Laravel项目。默认数据库连接指向mySQL驱动程序。如何将驱动程序更改为Postgres并使用heroku提供的凭据?首先,在数据库配置文件顶部添加以下代码Php 如何配置Laravel应用程序以使用heroku PostgreSQL?,php,postgresql,laravel,heroku,Php,Postgresql,Laravel,Heroku,我目前正在从事一个Laravel项目。默认数据库连接指向mySQL驱动程序。如何将驱动程序更改为Postgres并使用heroku提供的凭据?首先,在数据库配置文件顶部添加以下代码 $host = env('DB_HOST', '127.0.0.1'); $database = env('DB_DATABASE', ''); $username = env('DB_USERNAME', 'forge'); $password = env('DB_PASSWORD', 'forge'); if
$host = env('DB_HOST', '127.0.0.1');
$database = env('DB_DATABASE', '');
$username = env('DB_USERNAME', 'forge');
$password = env('DB_PASSWORD', 'forge');
if($databaseUrl = getenv('DATABASE_URL')) {
$url = parse_url($databaseUrl);
$host = $url['host'];
$username = $url['user'];
$password = $url['pass'];
$database = substr($url['path'], 1);
}
现在在同一个文件中,像这样更改pgSQL键的值
'pgsql' => [
'driver' => 'pgsql',
'host' => $host,
'port' => env('DB_PORT', '5432'),
'database' => $database,
'username' => $username,
'password' => $password,
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
'sslmode' => 'prefer',
]
现在登录到heroku帐户,在项目的“设置”选项卡下添加两个配置变量
首先,在数据库配置文件的顶部添加以下代码
$host = env('DB_HOST', '127.0.0.1');
$database = env('DB_DATABASE', '');
$username = env('DB_USERNAME', 'forge');
$password = env('DB_PASSWORD', 'forge');
if($databaseUrl = getenv('DATABASE_URL')) {
$url = parse_url($databaseUrl);
$host = $url['host'];
$username = $url['user'];
$password = $url['pass'];
$database = substr($url['path'], 1);
}
现在在同一个文件中,像这样更改pgSQL键的值
'pgsql' => [
'driver' => 'pgsql',
'host' => $host,
'port' => env('DB_PORT', '5432'),
'database' => $database,
'username' => $username,
'password' => $password,
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
'sslmode' => 'prefer',
]
现在登录到heroku帐户,在项目的“设置”选项卡下添加两个配置变量
这是一个非常宽泛的描述。请提供问题的详细信息,并告诉我们您到目前为止尝试了什么。@Siegmeyer我已尝试更改.env文件中的环境变量值,以匹配Heroku提供的凭据。但是,.env文件不是提交的一部分(添加到.gitignore中)。我需要一种方法让Heroku填充正确的环境变量。这是一个非常广泛的描述。请提供问题的详细信息,并告诉我们您到目前为止尝试了什么。@Siegmeyer我已尝试更改.env文件中的环境变量值,以匹配Heroku提供的凭据。但是,.env文件不是提交的一部分(添加在.gitignore中)。我需要一种方法让Heroku填充正确的环境变量。