我有一个应该很快发布的 LAMP (Linux/Apache/MySQL/Php) 应用程序。
即使我从未使用过它,我也在考虑使用自动工具,以使配置和安装过程更容易(对客户和我来说,在未来)。
你有没有做过(或想过)这样的事情?有什么缺点吗?是不是有点意思?
当您尝试为多个目标平台编译程序时,主要使用 Autotools。这通常适用于 C 代码并检查可用库、数据类型大小、libc 函数等内容。因此,除非您的程序是用 C 编写的并且您需要支持各种 Unix 风格,否则不要使用自动工具。
如果您正在尝试为 Linux 构建某种安装程序,我建议您查看 rpmbuild(对于 redhat 发行版)。如果您所做的只是打包文件以便于分发,那么 Rpmbuild 很容易使用。这里有一个很好的教程。rpmbuild 的一个重要方面是您可以指定目标系统的要求,例如:apache、mysql 甚至是您需要的特定 php 模块。
对于配置和部署,您可以查看ant。
在我之前的工作中,我们使用 ant 来部署/配置 perl、php、xml、xsl、单元测试、Apache 配置......
您有一个 build.properties 文件,您可以在其中放置一些默认值,而客户只需创建一个 local.properties,其值将覆盖 build.properties 中的值。
此外,如果您需要启动一些作为设置的一部分的脚本,您也可以使用 ant 执行此操作。
我可能说得很明显,但为了它,它会不会更容易,只是为了使用
phpinfo();
?
从中您可能会阅读所有内容——服务器版本、PHP 版本、MySQL 版本和正在运行的 PHP 扩展,将其与您需要的内容进行比较,并向您的客户或他们的主机提供“我需要安装这个和那个”的建议。