LAMP功能大于其各个组件之和
在Linux平台上运行的Apache服务器是建立一个简单的Web服务器的简便方法。但是,Apache服务器提供的信息是“静态的”。也就是说,基本的信息网页你必须亲自建立和输入。
增加互动或者动态组件需要使用编程语言,如Perl或者PHP。这允许你使用表格。例如,它们允许你的用户向你发送电子邮件或者随机选择一个要访问的网页。
然而,对于一个真正的互动和动态网站来说,你需要的是一种建立由数据库中的信息组成的网页的方法。例如,假设你要模仿亚马逊建立一个在线商店,你可以使用静态网页完成这个任务。你甚至还可以使用动态要素让人们向自己的购物篮中添加产品和向你发送订单。但是,随着销售的产品数量的增加,控制每一件事情的管理成本将成为一个恶梦。而且,向用户提供查看过去的订单等一些高级功能都是不可能的。
这正是“LAMP stack”显示实力的地方。通过把一个Web服务器(Apache)、动态组件(使用Perl、Python或者PHP)和一个数据库(MySQL)结合在一起,我们能够创建一个真正由数据库驱动的和动态的网站。这种网站很容易更新和提供丰富的功能来支持用户。
查看正在运行之中的“LAMP stack”的能力和功能的最简单的方法是查看使用LAMP技术的一些预先包装的应用程序。这种事情的一个最著名的例子是WordPress博客系统。WordPress使用PHP与一个MySQL数据库互动并且能够由一台Apache/Linux服务器托管。
WordPress系统功能强大,显示了LAMP系统的大多数功能。PHP是一种应用环境,从数据库中提取数据,然后对数据进行格式化以便在网络浏览器上显示出来。所有这些“文章”或者帖子都存储在一个MySQL数据库中,个人的帖子在右手那边的对话框中分类以便容易查找和发现关于具体话题的帖子。由于WordPress还支持多个用户,你还可以根据日期和作者查找帖子。WordPress能够使用MySQL数据库的关系功能显示根据类要求现实的帖子或者仅显示具体类别的帖子。甚至在简单地显示“主页”中,它也能使用MySQL数据库的关系功能提取每一个帖子的相关数据。
另一个很好的例子是Wikipedia。Wikipedia使用PHP、MySQL和Apache HTTPD提供一个具有多种语言的数千个入口的在线百科全书。所有这些都是由运行WikiMedia应用程序的Linux服务器提供的。

图3 工作中的Wikipedia
这个功能在其它Web应用环境中也是可能的,但是,关键的问题是所有这些LAMP组件能够非常简单地一起工作。例如,WordPress代码出人意料地简单和直截了当。这种代码很容易个性化和扩展,格式可以修改以满足具体的需求。