首页 > 解决方案 > 是否可以隐藏 SQL 密码并在 localhost 以及 Heroku 中使用它们?

问题描述

我打算让我的学校网站能够在本地主机上使用 Docker 以及在 Heroku 应用程序上使用,但我不知道如何解决 connect.php 的问题。

连接.php:

//For localhost:
require_once($_SERVER['DOCUMENT_ROOT'] . '/config.php');
//Create connection:
$conn = new mysqli($_SERVER['MYSQL_SERVER'],$_SERVER['MYSQL_USER'], $_SERVER['MYSQL_PASS'], $_SERVER['MYSQL_DBNAME']);
// Check connection:
if ($conn->connect_error) 
{
  die("Connection failed: " . $conn->connect_error);
}

对于本地主机,我用 config.php 做了 require_once:

    $_SERVER['MYSQL_SERVER'] = '(server from localhost/Heroku)';
    $_SERVER['MYSQL_USER'] = '(username from localhost/Heroku)';
    $_SERVER['MYSQL_PASS'] = '(password from localhost/Heroku)';
    $_SERVER['MYSQL_DBNAME'] = '(dbname from localhost/Heroku)';

在设置了 Docker 的 localhost 上,它可以正常工作,并且站点可以正确显示,但是使用 Heroku 上托管的站点时事情会变得复杂,因为它会查找以前请求的 localhost 使用 - config.php,而不是从Heroku Config Vars读取数据

在此处输入图像描述

任何想法如何解决这个问题?

标签: phpmysqlherokumysqlilocalhost

解决方案


推荐阅读