这是一个典型问题关于*AMPP 堆栈的使用。
我最近与一些有经验的人进行了交谈,他们建议我不要使用 WAMP 堆栈,而是分别安装 apache、mysql 和 php。
但是我不明白他们为什么提出这个建议,有人可以告诉我吗?
WAMP 有什么特别的缺点吗?或者单独安装它们有什么特别的优点吗?
既然WAMP堆栈本身是由apache,mysql和php组成的,那么使用WAMP堆栈和单独安装它们之间有什么区别?
答案1
既然WAMP堆栈本身是由apache,mysql和php组成的,那么使用WAMP堆栈和单独安装它们之间有什么区别?
存在许多差异,但最令人困扰的三个差异是:
- 不安全的配置
- 升级困难且滞后
- 非标准配置/二进制位置
扩展 #1:WAMP、MAMP、LAMPP、XAMPP 等被设计为一键堆叠安装程序,可轻松开发商以尽可能少的阻力快速开始工作。因此,许多配置值故意处于非常不安全的状态。这对于开发工作来说没问题,但在生产中这样做就太愚蠢了。
然后,对于 #2,操作系统供应商非常轻松使用最新的功能更新和安全补丁来升级您的 LAMP 堆栈。当它们的软件包发布到官方存储库时,它们已经经过了大量测试,它们破坏您系统上任何东西的可能性相当低。在绝大多数情况下,您可以使用单个命令升级所有内容。
最后,#3:一键安装程序将文件放在非常非标准位置。因此,当您(或任何其他人)去排除故障时,您只能在整个文件系统中搜索 php.ini 文件。当您从发行版的软件包存储库安装 LAMP 堆栈时,所有内容都将位于预期的、众所周知的位置。
答案2
首先,apache、php、MySQL 都是移植到 Windows 的 *nix 应用程序。在生产环境中,通常首选在它们的原生平台上运行工具。
其次,预配置的 *AMP 软件包通常具有极其开箱即用的易受攻击的配置。大多数软件包都附带自述文件,说明它们仅供开发使用,不适用于生产。
如果您确实想在模拟生产的环境中进行开发,那么您将使用类似于生产环境的配置,而 WAMP 或 LAMP 包则无法实现这一点。
答案3
如果问题是 - 使用 Windows 作为我的平台,为什么有些人会告诉我单独安装 Apache、PHP 和 MySQL,而不是作为 WAMP 发行版的一部分安装……
主要原因是有些人使用带有 FTP 服务器、邮件服务器、JSP 服务器、DNS 服务器的“包罗万象”类型的 WAMP 发行版时有过不好的体验,升级性、安全性都有问题……总的来说,这会把事情搞得一团糟。
最终,这些人宁愿按照自己的方式安装和配置 Apache、PHP 和 MySQL。其他人可能认为,自己做所有事情会获得更多经验。
但并非所有 WAMP 都是这样的,有些是经过深思熟虑的框架,以适当的方式处理安全性、可升级性和配置。
有大约十几个 WAMP 可供测试,看看它们之间的比较结果如何。我始终建议尝试 -Wamp服务器,统一服务器,Wamp-Developer Pro, 和Xampp看看其中是否有一个适合您的需求,如果不适合,则可以设置您自己的自定义 WAMP 安装/框架,或者使用 LAMP 环境。
答案4
有一些不错的答案,但不要忘记,没有任何默认安装是非常安全的,因为它们旨在在尽可能广泛的情形下使用。
说真的,如果您认为 Linux 上默认安装的 Apache 是安全的……那就再猜一下吧。