php和数据库问题

时间:2010-07-30 17:28:48

标签: php sql mysql dreamweaver

我一直在我自己的xampp服务器上使用我自己的数据库和所有内容在一个网站上工作,到目前为止它非常顺利,令人惊讶。现在我想将它上传到主机,我找到了一个免费的网络主机,我可以通过dreamweaver / ftp上传网站。我将我的数据库导出到SQL查询中,然后在实时数据库上运行该查询,以便它们具有相同的数据。

我很好奇,保持这些数据库同步的最佳方法是什么?

1)在我的header.php中,我为本地数据库指定了一些连接变量,当我将header.php上传到站点时,我必须确保更改它们,以便它们具有远程数据库的正确连接变量。也许如果我的托管服务器上有一个文件,而我本地服务器上的文件指定了连接信息,并且从未搞砸过它们?

2)如果我在本地数据库中更改了某些内容,我必须复制SQL并在远程数据库中运行它。有没有一个好方法来处理这个?

再次感谢!

4 个答案:

答案 0 :(得分:0)

对于#1,您可以这样做 - 大多数人采用的路由 - 或者在加载服务器特定配置之前使配置文件检查IP。如果IP为127.0.0.1,则加载开发配置。如果它是主机的IP,则会加载不同的配置。

我个人不知道处理#2的更好方法。所以,这个答案必须是不完整的。

答案 1 :(得分:0)

答案 2 :(得分:0)

  1. 我通常将模板内容与db连接,全局变量内容以及包含'init.php'或'config.php'等包含文件的会话内容分开。当您更新内容时,很可能您不需要覆盖该文件。

  2. 我使用linux,所以我使用'mysqldump'获取.sql文件,上传到服务器,然后只需上传'mysql -u user -p databasename< database.sql”。如果有一种我不知道的更快的方式会很棒。

答案 3 :(得分:0)

1:是的,使用特定于服务器的信息创建config.php文件,并在需要时包含它。这是非常普遍和正常的。理想情况下,您可以将此文件与其他文件分开,以便轻松获取所有应用程序文件并将其复制到实时服务器,而无需复制配置文件。保留你的实时配置文件的备份,因为有一天你会覆盖它,如果你不必争先恐后地弄清楚实时数据库密码是什么,这对你的心更好。

2:有一些自动处理方法,但它们非常复杂。我通常做的是创建一个名为changes.sql的空文本文件。当我对dev数据库进行更改时,我将CREATE TABLE和ALTER TABLE等查询粘贴到changes.sql文件中。这样我就有一个文件,当我准备好更新实时站点时,我需要对实时服务器进行所有更改。在我进行更新后,我将changes.sql文件保存在某处并为下一次更改创建一个新的空文件。

更多2:您也可以直接转储整个开发数据库并进行实时复制。但是,大多数站点都有实时服务器上的数据,这些数据不应被销毁或复制到开发者 - 用户信息,订单,登录跟踪,用户评论等等。因此,您通常不希望仅使用开发数据替换所有实时数据。