【问题标题】:Making php development more robust让php开发更健壮
【发布时间】:2011-04-26 20:20:44
【问题描述】:

我现在花了一些时间在 php 中开发一个 web 应用程序。它主要只是为了作为一个业余项目来学习的乐趣,但该应用程序现在有一些用户,我不想在开发过程中因为破坏事情而感到不安。

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

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

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

一如既往地提前致谢。

【问题讨论】:

    标签: php version-control hosting development-environment


    【解决方案1】:

    您问题的每个部分之前都已得到解答。下面的列表列出了一些常用工具,并链接到 StackOverflow 上的适当搜索。没有一个包中的所有内容,并且在一个问题中详细介绍这些工具超出了范围,因此恐怕您必须进行一些挖掘:

    免责声明:列表并不完整,顺序并不重要

    【讨论】:

    • 感谢戈登。我很欣赏这个问题有很多,但你的观点是没有多合一的解决方案是有帮助的。也感谢您的列表,这有助于知道我应该搜索什么!
    【解决方案2】:

    您似乎在追求稳健的部署策略,而不是开发策略。但是,如果我错了,请纠正我。

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

    至于部署策略,我觉得最好总结在this answer

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

    【讨论】:

      【解决方案3】:

      这里发生了很多事情。不过,我会给你两分钱。

      1. 我曾经使用过超编辑。现在我使用 netbeans,它是一个完全集成的开发环境,它让我的生活变得轻松多了。它也是免费的。我无法想象回到 UltraEdit。另外,这让我想到了第二点,netbeans 集成了 SVN 和 CVS

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

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

      【讨论】:

        【解决方案4】:

        您是否考虑过使用 wamp/xamp/mamp/lamp 进行本地开发?每次更改都通过 ftp 上传很痛苦。

        您可以为本地执行此操作并查看一切正常,然后将其推送到您的测试域并再次运行它,然后最终推送到现场。

        可能想看看 SpringLoops 之类的东西来进行版本控制 - 这具有进行部署的优势,然后如果它变成梨形,您可以恢复它(免费帐户每天可进行 3 次部署)。

        我现在不担心可扩展托管,只需关注网站和编码,您只有少数用户 - 等到它开始成为问题后再移动(不过,我建议研究选项)但不要试图让所有云都准备好 - 可能永远不会成为问题。

        ps,通过 Slicehost 使用 Linode。

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            【解决方案6】:

            1 - 代码编写工具

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

            2 - 版本控制/管理

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

            3 - 可扩展的托管

            亚马逊或 RackSpace。

            【讨论】:

              【解决方案7】:

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

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

              对于共享主机,您会惊讶地发现您可以获得多少带宽。我有一个每月 10 美元的共享主机,每月的页面浏览量约为 50 万。一般来说,不是您的共享主机无法处理负载,而是托管服务提供商在同一台服务器上放置了太多“共享”。所以这取决于同一台服务器上的其他人使用了多少资源。如果您遇到问题,您可以随时要求转移到其他服务器。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2014-06-10
                • 1970-01-01
                • 1970-01-01
                • 2019-11-10
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多