LAMP中的“P”有啥意义?为啥是 PHP、Perl 或 Python?
Posted
技术标签:
【中文标题】LAMP中的“P”有啥意义?为啥是 PHP、Perl 或 Python?【英文标题】:What is the significance of the 'P' in LAMP? Why is it PHP, Perl, or Python?LAMP中的“P”有什么意义?为什么是 PHP、Perl 或 Python? 【发布时间】:2011-09-20 17:49:31 【问题描述】:我是一名 Java Web 开发人员,懂一点 Python(但没有做过任何 Python Web 开发),我很好奇 LAMP 堆栈到底是什么意思。
我理解它是 Linux-Apache-mysql-(php、Perl 或 Python),但除了字母 P 之外,我不明白这三种语言是什么结合在一起的。
如果使用 Ruby,LAMP 堆栈是否有根本不同?使用 Ruby 通常意味着使用 Rails,但 Python Web 应用程序通常使用 Django 或 Pylons。还是 LAMP 表示没有使用框架?由于 Tomcat 代替了 Apache,Java Web 开发是否有本质上的不同?
【问题讨论】:
LAMP 只是一个应用程序堆栈。就像 Windows 有 Windows+IIS+MSSQL+ASP/ASP.Net/Silverlight。 P 部分通常是您将用来提供内容的脚本引擎。内容通常由 mysql 表生成并通过 apache 提供。 你可以用 Erlang 替代 PHP,但那会是 LAME LAMP 是一个易于记忆的首字母缩写词,早在 Ruby 通过 Rails 实现 Web 突破之前就使用了该术语(当时 PHP 和 Perl 可能是最大的两个)。您可以使用 LAMR 堆栈(使用 Ruby)、WAMP(Windows AMP)或 LAPP(使用 Postgres DB)等。更大的想法是它是一个通用的软件堆栈(您可以根据需要更改它)用于构建 Web 应用程序。它不排除使用 Rails、django 等框架。 如果你有 Windows 和 IIS 而不是 Linux 和 Apache,它会是 WIMP 吗? 8vD 【参考方案1】:碰巧的是,堆栈中该部分最常用的组件都恰好以 P 开头。这无非是巧合。 LAMP 首字母缩略词是在 Ruby 获得当前流行水平之前创造的,您没有理由不将 Ruby 放在 P 插槽中。
【讨论】:
Java 怎么样? LAMJ 本质上会不会一样? 除了 LAMR 在发音时听起来像“lamer”。 @FarmBoy:“LAMJ 本质上会一样吗?”显然,是的。 @S.Lott 对不起,对我来说并不明显(因为 Tomcat),这就是我要求澄清这一点的原因。我不知道为什么你是我在 SO 上经常遇到的唯一一个让我一直认为你希望我停止提问的人。 那从技术上讲,它不会是带有 Tomcat 和 Java 的 LTMJ 吗?这并不重要,因为没有人会记住这个首字母缩写词。【参考方案2】:我相信 P 最初主要代表 PHP,因为这种特殊的组合被广泛使用。随着非 PHP 语言在 Web 开发中变得越来越流行,它被扩展为包括 Python 和 Perl,并且从未进一步扩展,因为它会破坏首字母缩略词。
LAMP 是事实上的标准做事方式,但不是正式标准。将 P 更改为 Ruby+Rails,或将 Apache/PHP 更改为 Tomcat/Java 会更改您的开发过程中的一些内容,但不会更改其他内容。
LAMP 的一个重要方面是所有组件都是开源的。
【讨论】:
PERL 已经被广泛用于 Web 应用程序,但我同意 P 最初代表 PHP。珍珠岩后来采用了它。 @mu 太短了,什么意思?我敢肯定,从历史上看,P 代表 PHP,然后 Perlites 采用了它,而不是相反。【参考方案3】:我认为你试图过多地解读它的含义。首字母缩略词之所以流行,是因为它们经常一起使用并且很容易发音。除了字面意思之外,它没有任何意义或暗示。还有 WAMP (Windows)、LAPP (PostgreSql) 和其他任何你想组成的东西。
【讨论】:
【参考方案4】:Perl、PHP 和 Python 除了是流行的 Web 开发语言之外,还有其他一些共同点:它们都是动态类型语言,而且开发速度非常快。我相信这是“精神”的一部分”的灯。
因此,虽然您确实可以用任何其他语言代替“P”,但有些语言比其他语言更适合动态、敏捷的精神。例如,Ruby 就非常适合。如果你擅长的话,你也可以使用 Scheme。 Java 不太适合 LAMP,因为它是一种静态类型的语言,而且对许多人来说主观感觉比所谓的脚本语言更“重”。
【讨论】:
以上是关于LAMP中的“P”有啥意义?为啥是 PHP、Perl 或 Python?的主要内容,如果未能解决你的问题,请参考以下文章
为啥很多物理学家要研究理想状况下的运动,根本不可能实现的情况研究有啥意义?
在从 php 会话注销期间取消设置 cookie 有啥意义?