【问题标题】:Connect database from online PHP site hosted in Heroku从托管在 Heroku 的在线 PHP 站点连接数据库
【发布时间】:2020-12-21 07:43:31
【问题描述】:

我最近使用 Heroku 创建了一个 php 网站并在线托管它。但是,我无法连接我的数据库,因为我使用了我的在线站点中的 localhost phpmyadmin 数据库。我应该如何从我的在线站点连接我的本地主机数据库?或者如何使我的主机我的数据库在线,然后建立连接?这是我的 db.php 文件,用于与 mysqli 建立连接,以防万一需要调整 db 连接 PHP 代码。

//step 1: Establish database connection
DEFINE("DB_HOST", 'localhost');
DEFINE("DB_USER", 'root');
DEFINE("DB_PASS", '');
DEFINE("DB_NAME", 'my_db_name');
// Create connection
$con = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
// Set charset to UFT8
mysqli_set_charset($con, "utf8");
// Check connection
if (!$con) {
    die("Connection failed: " . mysqli_connect_error());
}

【问题讨论】:

  • 出于安全原因,您可以将本地数据库迁移到主机并添加 ssl 层。 db.php 连接文件看起来不错,它会工作,我还建议使用任何 php 框架,如 laravel、codignator 等。

标签: php mysql heroku


【解决方案1】:

如果您将数据库托管在本地计算机上,同时有一个需要连接到数据库的网络服务器,您必须确保另一台计算机可以访问您的数据库。如果机器和数据库的本地 IP 相同,则主机只是“localhost”。你的 db.php 是正确的,并且会正常运行,只要你确保连接细节是正确的,因为 localhost 不正确会有错误。

您可能想研究如何根据您使用的数据库软件/安装进行移植。或者查看您的主机是否提供与 PhpMyAdmin 类似或类似的数据库解决方案(在大多数网络主机的情况下)。

【讨论】:

  • 我查看了一些在线教程,并在 Heroku 和 MySQL 工作台中遇到了 clearDB。但是,在安装插件和软件,创建用户和密码后,我不知道如何在我的 db.php 中建立连接,因为在线教程没有显示。我检查了很多教程,但无济于事。
  • stackoverflow.com/questions/9822313/…如果您使用的是ClearDB,您可以通过阅读此处的问题答案了解如何建立远程连接
猜你喜欢
  • 2020-07-21
  • 1970-01-01
  • 2012-07-06
  • 1970-01-01
  • 2022-06-15
  • 2018-10-27
  • 1970-01-01
  • 2017-02-25
  • 1970-01-01
相关资源
最近更新 更多