从托管在 Heroku 的在线 PHP 站点连接数据库
Posted
技术标签:
【中文标题】从托管在 Heroku 的在线 PHP 站点连接数据库【英文标题】:Connect database from online PHP site hosted in Heroku 【发布时间】: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 等。 【参考方案1】:如果您将数据库托管在本地计算机上,同时有一个需要连接到数据库的网络服务器,您必须确保另一台计算机可以访问您的数据库。如果机器和数据库的本地 IP 相同,则主机只是“localhost”。你的 db.php 是正确的,并且会正常运行,只要你确保连接细节是正确的,因为 localhost 不正确会有错误。
您可能想研究如何根据您使用的数据库软件/安装进行移植。或者查看您的主机是否提供与 PhpMyAdmin 类似或类似的数据库解决方案(在大多数网络主机的情况下)。
【讨论】:
我查看了一些在线教程,并在 Heroku 和 MySQL 工作台中遇到了 clearDB。但是,在安装插件和软件,创建用户和密码后,我不知道如何在我的 db.php 中建立连接,因为在线教程没有显示。我检查了很多教程,但无济于事。 ***.com/questions/9822313/…如果您使用的是ClearDB,您可以通过阅读此处的问题答案了解如何建立远程连接以上是关于从托管在 Heroku 的在线 PHP 站点连接数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何将数据从 Heroku 上托管的 Node.js 应用程序发送到托管在完全独立(Cpanel)服务器上的 PHP 文件?