【问题标题】:Using autotools for a LAMP application为 LAMP 应用程序使用自动工具
【发布时间】:2010-03-05 10:45:53
【问题描述】:

我有一个即将发布的 LAMP (Linux/Apache/MySQL/Php) 应用程序。

即使我从未使用过它,我也在考虑使用autotools 来简化配置和安装过程(对于客户和我来说,在未来)。

你有没有做过(或想过)这样的事情?有什么缺点吗?是不是有点意思?

【问题讨论】:

  • 您的 Lamp 应用是自定义服务器堆栈还是 php web 应用?
  • @clyfe:这是一个 php web 应用程序,需要一些最低版本的 Apache、MySQL、Php、php 库和其他东西。这个想法是提供一个 configure 文件来检查一切是否正常,如果不是,它会提示缺少的内容。

标签: php apache lamp autotools autoconf


【解决方案1】:

Autotools 主要在您尝试为多个目标平台编译程序时使用。这通常适用于 C 代码,并检查可用库、数据类型大小、libc 函数等内容。因此,除非您的程序是用 C 编写的并且您需要支持各种 Unix 风格,否则不要打扰 autotools。

如果您正在尝试为 Linux 构建某种安装程序,我建议您查看 rpmbuild(适用于 redhat 发行版)。如果您所做的只是打包文件以便于分发,那么 Rpmbuild 很容易使用。 here 提供了一个很好的教程。 rpmbuild 的一大优点是您可以指定目标系统的要求,例如:apache、mysql 甚至是您需要的特定 php 模块。

【讨论】:

  • 是的,这是另一种选择。我只是想了解在我的情况下什么是最好的,因为我在 autotools 或 rpm/deb 打包方面都没有经验。非常感谢您的回答。
  • 我在上面添加了一些关于这个的东西,但主要是不要使用自动工具,除非你正在为各种 Unix 发行版编译 C 应用程序。在个人笔记中,我发现 autotools 是一团复杂的东西,只会让编译变得更加困难。我通常坚持简单的旧make
【解决方案2】:

配置部署可以看ant

在我之前的工作中,我们使用 ant 来部署/配置 perl、php、xml、xsl、单元测试、Apache 配置...

您有一个 build.properties 文件,您可以在其中放置一些默认值,而客户只需创建一个 local.properties,其值将覆盖 build.properties 中的值。

此外,如果您需要启动一些作为设置的一部分的脚本,您也可以使用 ant 执行此操作。

【讨论】:

    【解决方案3】:

    简单的想法

    我可能说的很明显,但为了它,它会更容易吗,只是为了使用

    phpinfo();
    

    ?

    从中您可能会阅读所有内容 - 服务器版本、PHP 版本、MySQL 版本和正在运行的 PHP 扩展,将其与您的需求进行比较,并向您的客户或他们的主机商提出 “我需要安装这个和那个”的建议.

    【讨论】:

      猜你喜欢
      • 2011-01-13
      • 1970-01-01
      • 2013-06-28
      • 2011-04-11
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 2020-06-10
      • 2012-09-29
      相关资源
      最近更新 更多