我正在使用Codeigniter,如果这样可以更容易。我想知道一个网站是否有人口密集的数据库和用户访问,我有一个新的想法实现到网站,我该怎么办?你直接在现场工作吗?
或者您将数据库和文件复制到本地服务器(MAMP / WAMP / XAMMP)并在那里进行处理,如果有效则使用更改更新实时站点。对于第二种方法,无论如何都要检查哪些文件已被更改并仅上传了这些文件?如果它在本地服务器上运行,但在更新实时站点后它不起作用怎么办?
Codeigniter配置还具有默认数据库和其他数据库的选项。我想知道这些可以用于测试吗?
答案 0 :(得分:8)
不要直接在实际网站上工作。相反,拥有一个开发环境(在您的计算机上使用vmware或virtualbox)并克隆实时环境。在版本控制中获取代码(我再说一遍:在版本控制中获取代码),在开发机器上进行开发,在版本控制中对开发分支进行开发。在完成测试并对更改感到满意后,将它们提交到“部署”或“实时”分支,然后从那里部署到实际站点。在推出新代码之前,请务必备份数据库。
修改:使用符号链接在现场网站上展示您的新代码。如果它不起作用,只需将其切换回旧目录即可。为你节省很多钱!
答案 1 :(得分:5)
while(1){..}
崩溃等),但至少在另一个文档/域上的同一台服务器上工作,最好只能访问您的IP。< / LI>
mysqldump -t
对此很好),如果你需要最新的&amp;最好的数据,你可以将你的主数据库复制到一个测试数据库,如果你还没有一个,你也可以获得廉价备份的优势。SetEnv DEV=1
)中设置一个开关,这样在代码中我可以使用if(getenv('DEV')==1)
检查我是否可以在错误条件下转储变量,这限制了可能性意外地提交/上传带有“开关开关”的代码意外。答案 2 :(得分:2)
这个问题的典型答案是在测试环境中工作,而不是生产环境。我同意这通常是处理变更的最佳方式。如果您拥有测试环境的奢侈品,那么请充分利用它。毕竟,这就是它的用途 - 进行测试。
但是,这并不意味着在生产环境中工作是完全禁止的。您的决定应基于以下几个因素:
如果是这样,请在测试环境中完成所有工作,并在完全测试更改后将其部署到实际环境中。
例如,您要更改数据库架构吗?您是否要更改用户登录或退出网站的方式?如果是这样,请在测试环境中完成工作。如果您要更改在其他地方没有任何影响的页面行为,您可以在生产环境中进行更改。
如果您无法保证更改的时间不会超过15-20分钟,请在测试环境中完成工作。