我正在进行小组项目,我们正在创建一个在线游戏。我们已完成大约一半的工作,现在是时候实施数据库来存储我们的记录/数据,并使网站在互联网上上线。
我对PSQL的工作原理感到困惑。我的理解是PSQL需要在某个服务器上运行才能访问它。对于以前的作业,我为我的Mac下载了Postgres并在localhost上运行它。 PHP代码类似于:
$dbconn = pg_connect("host=localhost port=5432 dbname=mydbname");
那么,如果我们打算使用PSQL,那么服务器在哪里?我们其中一个人必须托管服务器吗?我们可以使用某种免费的在线服务器吗?我们如何用PHP连接到该服务器?
总之,我有两个主要问题:
我们如何让我们的代码免费在互联网上发布? (它只是一个临时网站,最多只能持续几周)
我们如何才能访问共享的PSQL数据库?
对于noob问题我很抱歉,我刚刚开始进行网络开发,我还在学习。
答案 0 :(得分:0)
那么,如果我们打算使用PSQL,那么服务器在哪里?我们其中一个人必须托管服务器吗?我们可以使用某种免费的在线服务器吗?我们如何用PHP连接到该服务器?
PostGreSQL必须在某些需要访问它的人可见的机器上运行。如果只有您的Web服务器(即运行PHP和您的网站的机器)需要与PGSQL通信,那么PGSQL可以安装在您的Web服务器上。这是一种非常常见的配置。
服务器也可能在运行Web服务器的LAN上运行,或者可能在另一个大陆上完全不同的网络上运行。最重要的是,必须直接连接到数据库的任何机器都可以实际连接到它。如果您正在构建网站,这意味着您拥有一个Web服务器。您的Web服务器需要连接到PGSQL服务器。第二个最重要的是,为了提高性能和效率,您的Web服务器和PGSQL服务器应该共享一个非常快速的连接。
您的Web服务器也可能最常用于托管数据库。在ubuntu机器上,安装PostGreSQL服务器就像运行一些命令一样简单。快速搜索会产生许多示例like this one。
我们如何让我们的代码免费在互联网上发布? (它只是一个临时网站,最多只会持续几周)
我不认识任何习惯提供免费网络托管或DBMS服务的人。你可以问一个朋友。或者在craigslist上放一个广告。或者,如果您精通技术(它听起来不像您),那么您可以在家中配置一个高端路由器,使用Dynamic DNS将某个域指向您家中运行的计算机。
我们如何才能访问共享的PSQL数据库?
我没有Heroku的经验,但你可能会嗅到there。 PostGreSQL的网站也保留了list of hosting companies。亚马逊提供RDS instances running PGSQL。 Digital Ocean在处理PostGres时有各种tutorials and how-tos。你可能会发射一个小滴'超级便宜的服务器,无需太多努力即可自行安装。
答案 1 :(得分:0)
亚马逊为Postgres提供免费的分层数据库解决方案。对于低级设置,有300个小时(不要引用我的话)。
他们在这里有关于这样做的教程: https://aws.amazon.com/rds/?nc2=h_m1
设置完成后,您将获得结束点,连接字符串将变为
db_connect ("host=[URLENDPOING] user=postgres dbname=postres")