LAMP中'P'的意义是什么?为什么是PHP、Perl或Python?

3 投票
4 回答
6766 浏览
提问于 2025-04-16 20:07

我是一名Java网页开发者,稍微懂一点Python(但还没做过Python网页开发),我很好奇LAMP栈到底是什么意思。

我知道LAMP是指Linux-Apache-MySQL-(PHP、Perl或Python),但我不太明白这三种语言除了字母P之外有什么共同点。

如果用Ruby来代替,会不会根本上改变LAMP栈?用Ruby通常意味着要用Rails框架,但Python网页应用一般用Django或Pylons。那LAMP是不是意味着不使用任何框架?另外,Java网页开发因为用Tomcat代替Apache,是否就本质上不同了呢?

4 个回答

2

我觉得你可能想得太复杂了。这个缩写之所以流行,是因为它们经常一起使用,而且发音简单。它并没有什么特别的含义或暗示,除了字面上的意思。还有WAMP(Windows)、LAPP(PostgreSql)以及你想出来的其他组合。

7

我认为这里的P最开始主要是指PHP,因为这个组合在当时非常流行。后来随着其他非PHP语言,比如Python和Perl在网页开发中越来越受欢迎,P的含义也扩展到了这些语言,但再往后扩展就不行了,因为那样会破坏这个缩写的意义。

LAMP是一种事实上的标准做法,但并不是正式的标准。如果把P换成Ruby+Rails,或者把Apache/PHP换成Tomcat/Java,虽然会改变一些开发过程中的细节,但其他方面可能不会有太大变化。

LAMP的一个重要特点是它的所有组件都是开源的。

8

恰好在那个技术栈中,最常用的组件名字都以字母P开头。这纯粹是个巧合。LAMP这个名字是在Ruby变得流行之前就已经出现了,所以其实你完全可以把Ruby放在P的位置上。

撰写回答