您好,请 登录注册
第3节 1.1 PHP基础知识
主要掌握以下知识点: ■ PHP 5.0 的基础知识 ■ Apache 服务器的安装与配置 ■ PHP 环境的安装与配置 ■ MySQL 数据库的安装与管理 ■ 解决数据库中文乱码问题 2 1.1 PHP基础知识 PHP 是一种多用途脚本语言,尤其适合于 Web 应用程序开发。利用 PHP 强大的扩展 性,可以在服务端连接 Java 应用程序,还可以与.NET 建立有效的沟通甚至更广阔的扩展, 从而可以建立一个强大的环境,以充分利用现有的和其他技术开发的资源。同时,开源和跨 平台的特性使得使用 PHP 架构能够快速、高效地开发出可移植的、跨平台的、具有强大功 能的企业级 Web 应用程序。 1.1.1 PHP 5.0 特性 PHP 是超文本预处理语言(Hypertext Preprocessor)的嵌套缩写,是一种 HTML 内嵌式 的语言。它与微软的 ASP 相似,都是一种在服务器端执行、嵌入 HTML 文档的脚本语言, 语言的风格又类似于 C 语言,现在被很多的网站编程人员广泛地应用。 与其他的编程语言做出的动态页面相比,PHP 是将程序嵌入到 HTML 文档中去执行, 执行效率比完全生成 HTML 标记的 CGI 要高许多。与同样是嵌入 HTML 文档的脚本语言 JavaScript 相比,PHP 在服务器端执行,充分利用了服务器的性能。PHP 执行引擎还会将用 户经常访问的 PHP 程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译 程序,只要直接执行内存中的代码就可以,这也是 PHP 高效率的体现之一。图 1-1 所示为 PHP 的运行模式。PHP 还具有非常强大的功能,所有的 CGI 或者 JavaScript 的功能 PHP 都 能实现,而且支持几乎所有流行的数据库以及操作系统。 图 1-1 PHP 运行模式 PHP 最初只是用 Perl 语言编写的简单的程序,用来统计自己网站的访问量。后来又 用 C 语言重新编写,增加了可以访问数据库等功能,并在 1995 年发布了 PHP 1.0。2004 3 年 7 月 13 日 PHP 5.0 正式版本的发布,标志着一个全新的 PHP 时代的到来。它的核心是 第二代 Zend 引擎,并引入了对全新的 PECL 模块的支持。在不断更新的同时,PHP 5.0 依然保留了对旧 PHP 4.0 程序的兼容。随着 MySQL 数据库的发展,PHP 5.0 还绑定了新 的 MySQL 扩展模块,提供了一些更加有效的方法和实用工具用于处理数据库操作。PHP 5.0 添加了面向对象的 PDO(PHP Data Objects)模块,提供了另外一种数据库操作的方 案,统一数据库操作的 API。另外,PHP 5.0 中还改进了创建动态图片的功能,目前能够 支持多种图片格式(如 PNG、GIF、TIF、JPEG 等)。PHP 5.0 已经内置了对 GD2 库的支 持,因此安装 GD2 库(主要指 UNIX 系统中)也不再是件难事,这使得处理图像十分简 单和高效。 PHP 5.0 还增加了只有成熟的编程语言体系结构中才有的一些特性,如下面列出的这 些特性。 (1)增加的面向对象能力。PHP 5.0 的最大特点是引入了面向对象的全部机制,并且保 留了向下的兼容性。程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类的保 护。另外,在对象的集成等方面也不再存在问题。使用 PHP 5.0 引进的类型提示和异常处理 机制,能更有效地处理和避免错误的发生。PHP 5.0 增加了很多功能,例如显式构造函数和 析构函数、对象克隆、类抽象、变量作用域和接口等。 (2)try/catch 异常处理。从 PHP 5.0 开始支持异常处理。在许多语言中,如 C++、C#、 Python 和 Java 等,异常处理长期以来一直都是错误管理方面的中流砥柱,为建立标准化的 错误报告逻辑提供了一种绝佳的方法。 (3)字符串处理。之前版本的 PHP 默认将字符串看做数组,这也反映了 PHP 原先的数 据类型观点不够严密。这种策略在版本 5.0 中有所调整,引入了一种专门的字符串偏移量 (offset)语法,而之前的方法已经废弃不用。 (4)XML 和 Web 服务支持。现在的 XML 支持建立在 libxml2 库基础上,并引入一 个很新并且非常有前途的扩展包来解析和处理 XML:SimpleXML。此外,PHP 5.0 还支 持 SOAP 扩展。 (5)对 SQLite 的内置支持。PHP 5.0 为功能强大、简洁的 SQLite 数据库服务器 (http://www.sqlite.org)提供了支持。如果开发人员需要使用一些只有重量级数据库产品中才 有的特性,同时不希望带来相应的管理开销,SQLite 则是一个很好的解决方案。 1.1.2 PHP开发环境 在开始学习 PHP 之前,首先需要配置 PHP 的运行环境。PHP 的运行环境需要两个软件 的支持:一个是 PHP 运行的 Web 服务器 Apache,而在具体安装 Apache 服务器之前首先要 在运行的系统上安装支持 Apache 服务器的 Java 2 SDK;另一个是 PHP 运行时需要加载的主 要软件包,该软件包主要是解释执行 PHP 页面的脚本程序,如解释 PHP 页面的函数。本书 主要介绍 Windows 操作系统下使用 Apache+PHP 配置环境的方法。 PHP 开发运行环境的需求如图 1-2 所示。 4 图 1-2 PHP 环境配置步骤 1.2 Apache服务器的安装 首先就是 PHP 网页所需的网站服务器(Web Server)软件 Apache 的安装与设定。Apache 网站服务器的主要工作在于编译 PHP 网页,并回传编译后的 PHP 网页至使用者计算机的浏 览器接口。安装与设定 Apache 的方法说明如下。 1.2.1 Apache简介 自从 PHP 发布之后,推出了各式各样的 PHP 引擎,最为经典的配置就是使用 Apache 服务 器。Apache 是一种开源的 HTTP 服务器软件,可以在包括 UNIX、Linux 以及 Windows 在内的 大多数主流计算机操作系统中运行,由于其支持多平台并具有良好的安全性而被广泛使用。 Apache 作为常驻的后台任务运行,在 UNIX 系统中为守候进程(Daemon),在 Windows 系统中为服务(Service)。由于 Apache 服务器的启动阶段比较耗费时间和资源, 因此它一般在操作系统启动时被启动并一直运行。 Apache 的运行分为启动阶段和运行阶段。启动阶段时,Apache 以特权用户 root 启动, 进行解析配置文件、加载模块和初始化一些系统资源(例如日志文件、共享内存段、数据库 连接)等操作。处于运行阶段时,Apache 放弃特权用户级别,使用非特权用户来接收和处 理网络中用户的服务请求。这种基本安全机制可以阻止 Apache 中由于一个简单软件错误 (也可能是模块或脚本)而导致的严重系统安全漏洞,例如微软的 IIS 就曾遭受“红色代码 (Code Red)”和“尼姆达(Nimda)”等恶意代码的溢出攻击。 Apache 的主配置文件通常为 httpd.conf。但是由于这种命名方式为一般惯例,并非强制 要求,因此对于提供 rpm 或者 deb 包的第三方,Apache 发行版本可能使用不同的命名机制。 另外,httpd.conf 文件可能是单一文件,也可能是通过使用 Include 指令包含不同配置文件的 多个文件集合,有些发行版本的配置非常复杂。httpd.conf 文件是一个文本文件,在系统启 动时被逐行解析。该文件由指令、容器和注释组成。配置文件内允许有空行和空格,它们在 解析时被忽略不计。 5 1.2.2 下载Apache软件 安装 Apache 网页服务器的首要工作便是到 Apache 的官方网站 http://httpd.apache.org/ download.cgi 下载 Apache 的最新版本。 下载的步骤如下。 (1)打开 IE 浏览器,在网址列输入 http://httpd.apache.org/download.cgi 链接至 Apache 的 官方网站,如图 1-3 所示。 图 1-3 打开 Apache 官方网站 (2)在这个页面中有许多的下载选项,单击选择页面上的“httpd-2.2.19-win32-x86- no ssl.msi”文字,下载 Apache 的自动安装程序,如图 1-4 所示。 图 1-4 选择相应的文件下载 6 说明: 本书所下载的是编写此书时的最新版本,由于 Apache 经常更新版本,读者可能会下载 到不同的最新版本,这不会影响后面的操作与设置。