为什么需要 Apache、MySQL 和 PHP
时间:2024-11-14 08:09 作者:emer 分类: 无
PHP 是一种强大的脚本语言,可以在任何安装了 PHP 的计算机的命令行中独立运行。然而,单靠 PHP 不足以构建动态网站。要在网站上使用 PHP,您需要一个可以处理 PHP 脚本的服务器。Apache 是一个免费的 web 服务器,一旦安装在计算机上,就允许开发人员在本地测试 PHP 脚本;这使得它成为您的本地开发环境的无价之宝。
此外,用 PHP 开发的网站通常依赖于存储在数据库中的信息,因此可以快速方便地修改这些信息。这是 PHP 站点和 HTML 站点的一个显著区别。这就是关系数据库管理系统(如 MySQL)发挥作用的地方。这本书的例子依赖于 MySQL。我选择这个数据库是因为 PHP 提供了对它的原生支持,还因为 MySQL 是一个免费的开源项目。
Note
最终用户可以免费获得一个开源项目,并附带创建该软件所需的代码。用户可以自由地检查、修改和改进代码,尽管有某些附加条件。开源倡议列出了定义开源软件的十个关键条款。您可以在 www.opensource.org/docs/osd 查看这份名单。
PHP 是一种通用脚本语言,最初是由拉斯马斯·勒德尔夫在 1995 年构思的。Lerdorf 创建 PHP 是为了满足为万维网创建页面时对处理数据的简单方法的需求。
Note
PHP 的诞生源于拉斯马斯·勒德尔夫想要创建一个脚本来记录他的在线简历被访问的次数。由于他创作的剧本广受欢迎,勒多夫继续开发这种语言。随着时间的推移,其他开发人员也加入到他的行列中来开发软件。今天,PHP 是互联网上最流行的脚本语言之一。
PHP 最初代表个人主页,并作为一个免费的开源项目发布。随着时间的推移,这种语言被修改以满足用户的需求。1997 年,PHP 被重新命名为 PHP:超文本预处理器,就像现在所知道的那样。在我写这篇文章的时候,PHP 5.5.7 是当前的稳定版本。许多服务器上仍在使用 PHP 的旧版本。
PHP 如何工作
PHP 一般用作服务器端脚本语言;它特别适合创建动态网页。脚本语言的特点是集成了对数据库接口的支持,如 MySQL,这使它成为构建各种 web 应用的首选,从简单的个人网站到复杂的企业级应用。
页面加载时,浏览器会解析 HTML。浏览器根本无法处理 PHP。PHP 由服务文档的机器处理(这个机器被称为服务器)。在文档被发送到访问者的浏览器之前,文档中的所有 PHP 代码都由服务器处理。因为 PHP 是由服务器处理的,所以它是一种服务器端脚本语言。
使用 PHP,您可以创建动态网页——可以根据条件变化的网页。例如:当我登录到我的脸书帐户,我看到我的内容。当您登录您的脸书帐户时,您可以看到您的内容。我们将加载相同的资源( www.facebook.com ),但是我们将被动态地提供不同的内容。这对于 HTML web 文档来说是不可能的,因为它们是静态的,也就是说它们不能改变。每个用户都会看到完全相同的 HTML 页面。本书的其余部分探索了一些你可以用动态网页实现的事情。
PHP 是一种解释型语言,这是 PHP 程序员的另一大优势。许多编程语言要求在运行文件之前将文件编译成机器代码,这是一个非常耗时的过程。绕过编译的需要意味着您能够更快地编辑和测试代码。
因为 PHP 是服务器端语言,所以运行 PHP 脚本需要服务器。在本地机器上开发 PHP 项目意味着在本地机器上安装一个服务器。本书中的例子依靠 Apache Web 服务器来交付您的网页。
Apache 及其功能
Apache 是 web 上最流行的 Web 服务器软件;它托管了当今几乎一半的网站。Apache 是一个开源项目,可以在几乎所有可用的操作系统上运行。Apache 是一个社区驱动的项目,许多开发人员为它的进展做出了贡献。Apache 的开源根源也意味着该软件可以免费获得,这可能大大有助于 Apache 相对于其竞争对手(包括微软的 IIS 和谷歌的 GWS 等)的压倒性人气。
在 Apache HTTP Server 项目网站( http://httpd.apache.org )上,Apache HTTP Server 被描述为“为包括 UNIX 和 Windows NT 在内的现代操作系统开发和维护开源 HTTP 服务器的努力。这个项目的目标是提供一个安全、高效、可扩展的服务器,提供与当前 HTTP 标准同步的 HTTP 服务。”
与所有 web 服务器一样,Apache 接受 HTTP 请求并提供 HTTP 响应。万维网是建立在 web 服务器上的,您访问的每个网站都展示了 Web 服务器的功能。我已经提到过,虽然 HTML 可以由 web 浏览器处理,但是服务器端脚本语言(如 PHP)必须由 web 服务器处理。由于 Apache 非常受欢迎,所以在本书中它被用于测试目的。
用 MySQL 存储信息
MySQL 是一个关系数据库管理系统(RDBMS)。本质上,这意味着 MySQL 允许用户在基于表的结构中存储信息,使用行和列来组织不同的数据。还有许多其他的关系数据库管理系统。本书中的例子依靠 MySQL 来存储您将在 PHP 脚本中使用的信息,从博客条目到管理员信息。这种方法有很大的优势,我们将详细探讨。
Note
Blog 是 weblog 的缩写,是个人或企业制作的在线日志