使php开发更加健壮

时间:2010-10-18 09:17:22

标签: php version-control hosting development-environment

我花了一些时间在php中开发一个Web应用程序。它主要是为了学习作为辅助项目的乐趣,但是应用程序现在有一些用户,我不想因为我开发时破坏事物而烦恼。

目前,我有一个非常基本的方法来管理开发 - 我使用文本编辑器(ultraedit)编写代码并使用其内置的ftp将文件上传到服务器。在版本控制方面,我有2个域,只有在工作时才将文件推送到“实时”域,但就是这样。这些域托管在一​​个cPanel共享托管站点上,我对它能够处理流量中的轻微峰值有一些疑问。我昨天看了slicehost,寻找更具可扩展性的东西,但这看起来像我现在所处的学习曲线。

我知道我可以比这更好,但从哪里开始?我想我需要三件事的建议 1 - 代码编写工具 2 - 版本控制/管理 3 - 可扩展托管

我故意在同一个问题中问这些问题,因为我想知道一个选择是否会影响另一个问题。有一个很好的集成解决方案吗?

提前谢谢。

7 个答案:

答案 0 :(得分:8)

您问题的每个部分之前都已得到解答。下面的列表列出了一些常用工具,并链接到StackOverflow上的相应搜索。在一个包中没有全部内容,并且在一个问题中关于这些工具的详细信息超出了范围,因此我担心您必须进行一些挖掘:

免责声明:列表并不完整,订单并不重要

答案 1 :(得分:2)

这里有很多事情要发生。我会给你两美分。

  1. 我以前使用超编辑。现在我使用netbeans,它是一个完全集成的开发环境,它让我的生活变得更加轻松。它也是免费的。我无法想象回到UltraEdit。此外,这使我成为第二,netbeans有SVN和CVS集成

  2. 我会使用subversion进行版本控制。根据我的经验,它可以完成版本控制所需的一切。其他人使用像git和mercurial这样的人,但我认为SVN得到了广泛的支持并且很容易设置。至于将代码推送到服务器,我也开始使用svn。我首先ssh进入服务器并将代码签出到public_html目录中,然后设置别名以通过命令行进行svn更新......在我看来,它比ftping更容易。还有其他部署方法,但我从未使用过它们。看到这个问题: What is your preferred php deployment strategy?

  3. 显然共享主机不会处理流量以及专用服务器。但是,在转移到专用服务器之前,您可以做很多事情来提高性能。看看这篇文章:http://developer.yahoo.com/performance/rules.html

答案 2 :(得分:1)

您似乎正在采用强大的部署策略而不是开发策略。但是,如果我错了,请纠正我。

就“代码编写工具”而言    IDE的选择是主观的    讨论。随意使用    你最舒服的那个    对我来说,这就是Netbeans。

至于部署策略,我认为最好总结在this answer

关于可扩展托管的观点相当广泛。我们需要更好的预测指标来提供更好的建议。但是,就目前而言,如果可扩展托管是一个担心,那么可能会考虑某种云托管。

答案 3 :(得分:0)

你有没有看过使用wamp / xamp / mamp / lamp进行本地开发?每次更改都通过ftp上传是一件痛苦的事。

你可以为本地做,并看到一切正常,然后将其推送到您的测试域并再次运行它,然后最终推送。

可能希望看看像SpringLoops这样的东西来进行版本控制 - 这样做的好处是可以进行部署,然后如果它变成梨形,你就可以恢复它(免费帐户每天会部署3个)。

我现在不担心可扩展托管,只关注网站和编码,你只有几个用户 - 等到它开始变成问题然后移动(但是,我建议查看选项)但是不要试图让所有的云都准备就绪 - 可能永远不会成为问题。

ps,请使用Linode而不是Slicehost。

答案 4 :(得分:0)

我认为使用Aptana Studio(http://www.aptana.org)。它是一个基于Eclipse的IDE,其中包含您需要的所有工具。它集成了PHP开发工具,GIT或SVN用于版本控制。

我也使用过共享主机。一旦同一台服务器上的其他站点有DoS攻击,我的站点也变得无法访问。否则它可以在一些优化后以合理的速度工作。它每天为1000-3000个用户提供服务。 专用服务器要好得多。或者您可以使用Amazon Web服务。我知道它们更贵。

答案 5 :(得分:0)

1 - 代码编写工具

Zend Studio。如果你打算使用linux服务器,我也会推荐Linux。

2 - 版本控制/管理

SVN + phing(如果您打算构建严肃的应用程序)。

3 - 可扩展托管

Amazon或RackSpace。

答案 6 :(得分:0)

对于您的编辑,只需使用您感到舒适和富有成效的内容。你绝对应该有版本控制。您永远不知道何时需要回滚一个或两个版本。

我始终在生产服务器上至少保留3个版本。我使用符号链接将Web服务器指向最新版本。如果出现问题,您只需重新创建符号链接以指向旧版本。

对于共享主机,你会惊讶于你可以获得多少带宽。我有一个10美元/月的共享主机,每月可以获得大约500K的页面浏览量。通常,并不是您的共享主机无法处理负载,而是托管服务提供商在同一台服务器上放置了太多“共享”。所以它取决于同一台服务器上的其他人使用了多少资源。如果您遇到问题,可以随时要求将其移至其他服务器。