![]() ![]() |
PHP动态 ![]()
本书以零基础讲解为宗旨,用实例引导读者深入学习,采取“PHP基础知识→核心技术→操作数据库→高级应用→项目实战”的讲解模式,深入浅出地讲解PHP开发动态网站的各项技术及实战技能。本书第1篇“PHP基础知识”主要讲解初识PHP,配置PHP服务器环境,PHP语言基础,流程控制和函数,字符串和正则表达式、PHP数组及操作等;第2篇“核心技术”主要讲解PHP与Web页面交互、时间和日期,面向对象编程,错误、异常处理与调试,文件系统与操作,图形图像处理技术,Cookie和会话管理,PHP加密技术等;第3篇“操作数据库”主要讲解MySQL数据库基础,使用MySQL Workbench管理MySQL数据库,PHP操作MySQL数据库等;第4篇“高级应用”主要讲解PDO数据库抽象类库,JavaScript编程基础,PHP与XML技术的综合应用,PHP与Ajax的综合应用,MVC结构与Smarty模板,Zend Framework框架等;第5篇“项目实战”主要通过一个综合案例开发论坛来整体讲解PHP在动态网站开发中的技术。本书附带的DVD光盘中赠送了丰富的资源,诸如本书实例完整源代码、教学幻灯片、本书精品教学视频、常用SQL语句速查手册、PHP常用函数速查手册、16个经典项目开发完整源码、PHP网站开发工程师面试技巧、PHP网站开发工程师常见面试题、优秀网站开发工程师之路——网站开发经验及技巧大汇总。本书适合任何想学习PHP开发动态网站的人员,无论您是否从事计算机相关行业,无论您是否接触过PHP,通过学习均可快速掌握PHP开发动态网站的方法和技巧。
清华大学出版社“案例课堂”大系 丛书以案例的形式讲解软件的内容,读者可以在实践中熟练掌握软件的使用方法。每一个案例都精挑细选,同时配有全程语音讲解的视频文件,方便读者学习。案例的选材广泛,涉及到软件应用的各个领域、各个行业,学习无死角。 “CG设计”系列全彩精印,同等价位下内容更多,同等内容下更实惠。 “网站开发”系列附赠超值,全面学习无障碍: CSS属性速查表 HTML标签速查表 网页布局案例赏析 精彩网站配色方案赏析 精选javascript实例 javascript函数速查手册 CSS DIV布局案例赏析 案例源文件与教学课件
目 录第1篇 PHP基础知识 第1章 初识PHP. 3 1.1 了解PHP. 4 1.1.1 PHP的概念... 4 1.1.2 PHP的发展历程... 4 1.1.3 PHP语言的优势... 5 1.2 PHP的应用领域... 5 1.3 PHP 5.5的新特点... 6 1.4 PHP常用开发工具... 8 1.4.1 PHP代码开发工具... 8 1.4.2 网页设计工具... 9 1.4.3 文本编辑工具... 9 1.5 网站建设的基本流程... 10 1.5.1 网站规划... 10 1.5.2 搜集资料... 10 1.5.3 制作网页... 11 1.5.4 网站测试... 12 1.5.5 申请域名... 12 1.5.6 申请空间... 12 1.5.7 网站备案... 12 1.5.8 发布网页... 16 1.5.9 网站推广和维护... 16 1.6 高手甜点... 17 1.7 跟我练练手... 17 第2章 配置PHP 服务器环境... 19 2.1 PHP服务器概述... 20 2.2 安装PHP前的准备工作... 20 2.2.1 软硬件环境... 20 2.2.2 实例1——获取PHP 5.5安装 2.3 PHP IIS服务器的安装配置... 22 2.3.1 实例2——IIS简介及其安装... 23 2.3.2 实例3——PHP的安装... 24 2.3.3 实例4——设置虚拟目录... 26 2.4 PHP Apache服务器的环境搭建... 27 2.4.1 Apache简介... 28 2.4.2 实例5——关闭原有的网站 2.4.3 实例6——安装Apache. 29 2.4.4 实例7——将PHP与Apache 2.5 实例8——Windows下使用WampServer 2.6 实例9——测试第一个PHP程序... 34 2.7 高手甜点... 35 2.8 跟我练练手... 36 第3章 PHP语言基础... 37 3.1 PHP标识... 38 3.1.1 短风格... 38 3.1.2 Script风格... 38 3.1.3 ASP风格... 38 3.2 编码规范... 38 3.2.1 什么是编码规范... 39 3.2.2 PHP的一些编码规范... 39 3.3 常量... 40 3.3.1 实例1——声明和使用常量... 40 3.3.2 实例2——内置常量... 41 3.4 变量... 43 3.4.1 PHP中的变量声明... 43 3.4.2 实例3——可变变量与变量的 3.4.3 实例4——变量作用域... 44 3.5 变量的类型... 48 3.5.1 什么是类型... 48 3.5.2 整型... 49 3.5.3 浮点型... 49 3.5.4 布尔型... 49 3.5.5 实例5——字符串型... 50 3.5.6 实例6——数组型... 51 3.5.7 对象型... 53 3.5.8 NULL型... 53 3.5.9 资源类型... 54 3.5.10 实例7——数据类型之间相互 3.6 运算符... 55 3.6.1 实例8——算术运算符... 55 3.6.2 实例9——字符串运算符... 56 3.6.3 赋值运算符... 57 3.6.4 实例10——比较运算符... 58 3.6.5 逻辑运算符... 59 3.6.6 按位运算符... 59 3.6.7 否定控制运算符... 60 3.6.8 错误控制运算符... 60 3.6.9 三元运算符... 60 3.6.10 运算符的优先级和结合规则... 60 3.7 PHP的表达式... 60 3.8 实例11——创建多维数组... 61 3.9 高手甜点... 62 3.10 跟我练练手... 62 第4章 流程控制和函数... 63 4.1 流程控制概述... 64 4.2 条件控制结构... 64 4.2.1 实例1——单一条件分支结构 4.2.2 实例2——双向条件分支结构 4.2.3 实例3——多向条件分支结构 4.2.4 实例4——多向条件分支结构 4.3 循环控制结构... 69 4.3.1 实例5——while循环语句... 69 4.3.2 实例6——do…while循环 4.3.3 实例7——for循环语句... 72 4.3.4 实例8——foreach循环语句... 73 4.3.5 实例9——流程控制的另一种 4.3.6 实例10——使用break/continue 4.4 函数... 77 4.4.1 PHP函数概述... 77 4.4.2 实例11——定义和调用函数... 77 4.4.3 实例12——向函数传递参数 4.4.4 实例13——向函数传递参数 4.4.5 实例14——从函数中返回值... 80 4.4.6 实例15——对函数的引用... 81 4.4.7 实例16——对函数取消引用... 82 4.5 实例17——条件分支结构的综合 4.6 实例18——循环控制结构的综合 4.7 高手甜点... 85 4.8 跟我练练手... 86 第5章 字符串和正则表达式... 87 5.1 实例1——字符串的单引号和双引号... 88 5.2 实例2——字符串的连接符... 89 5.3 字符串的基本操作... 91 5.3.1 手动和自动转义字符串中的 5.3.2 实例3——计算字符串的长度... 91 5.3.3 实例4——字符串单词统计... 92 5.3.4 实例5——清理字符串中的 5.3.5 实例6——字符串切分与组合... 93 5.3.6 实例7——字符串子串截取... 94 5.3.7 实例8——字符串子串替换... 95 5.3.8 实例9——字符串查找... 96 5.4 什么是正则表达式... 97 5.5 正则表达式语法规则... 97 5.5.1 方括号([ ]) 98 5.5.2 连字符(-) 98 5.5.3 点号字符(.) 98 5.5.4 限定符( 、*、?、{n,m}) 98 5.5.5 行定位符(^和$) 98 5.5.6 排除字符([^]) 99 5.5.7 括号字符(( )) 99 5.5.8 选择字符(|) 99 5.5.9 转义字符(\)与反斜杠(\ 99 5.5.10 认证email的正则表达... 99 5.5.11 实例10——使用正则表达式对 5.5.12 实例11——使用正则表达式 5.5.13 实例12——使用正则表达式 5.6 实例13——创建酒店系统在线 5.7 高手甜点... 106 5.8 跟我练练手... 106 第6章 PHP数组及操作... 109 6.1 什么是数组... 110 6.2 数组类型... 110 6.2.1 实例1——数字索引数组... 110 6.2.2 实例2——关联索引数组... 111 6.3 数组构造... 112 6.3.1 实例3——一维数组... 112 6.3.2 实例4——多维数组... 113 6.4 遍历数组... 115 6.4.1 实例5——遍历一维数字索引 6.4.2 实例6——遍历一维联合索引 6.4.3 实例7——遍历多维数组... 117 6.5 数组排序... 118 6.5.1 实例8——一维数组排序... 118 6.5.2 实例9——多维数组排序... 120 6.6 实例10——字符串与数组的转换... 121 6.7 向数组中添加和删除元素... 122 6.7.1 实例11——向数组中添加 6.7.2 实例12——从数组中删除 6.8 实例13——查询数组中指定元素... 126 6.9 实例14——统计数组元素个数... 127 6.10 实例15——删除数组中重复元素... 129 6.11 实例16——调换数组中的键值 6.12 实例17——数组的序列化... 131 6.13 高手甜点... 132 6.14 跟我练练手... 132
第2篇 核心 技 术 第7章 PHP与Web 页面交互... 137 7.1 实例1——使用动态内容... 138 7.2 表单与PHP. 139 7.3 表单设计... 139 7.3.1 表单基本结构... 139 7.3.2 实例2——文本框... 139 7.3.3 实例3——选项框... 141 7.3.4 实例4——单选按钮... 142 7.3.5 实例5——下拉列表... 144 7.3.6 实例6——重置按钮... 145 7.3.7 实例7——提交按钮... 146 7.4 传递数据的两种方法... 148 7.4.1 用POST方式传递数据... 149 7.4.2 实例8——用GET方式传递 7.5 PHP获取表单传递数据的方法... 150 7.6 实例9——PHP对URL传递的参数 7.7 实例10——PHP与Web表单的综合 7.8 高手甜点... 153 7.9 跟我练练手... 154 第8章 时间和日期... 155 8.1 系统时区设置... 156 8.1.1 时区划分... 156 8.1.2 时区设置... 156 8.2 PHP日期和时间函数... 156 8.2.1 关于UNIX时间戳... 156 8.2.2 实例1——获取当前时间戳... 157 8.2.3 获取当前日期和时间... 158 8.2.4 实例2——使用时间戳获取日期 8.2.5 实例3——检验日期的 8.2.6 实例4——输出格式化时间戳的 8.2.7 实例5——显示本地化的日期 8.2.8 实例6——将日期和时间解析 8.2.9 日期和时间在PHP和MySQL 8.3 实例7——比较两个时间的大小... 166 8.4 实例8——实现倒计时功能... 167 8.5 高手甜点... 167 8.6 跟我练练手... 168 第9章 面向对象编程... 169 9.1 类和对象的介绍... 170 9.2 PHP中类的操作... 171 9.2.1 类的声明... 171 9.2.2 成员属性... 171 9.2.3 成员方法... 172 9.2.4 类的实例化... 172 9.2.5 实例1——访问类中的成员属性 9.3 实例2——构造方法和析构方法... 174 9.4 实例3——访问方法... 176 9.5 实例4——类的继承... 178 9.6 抽象类和接口... 179 9.6.1 实例5——抽象类... 179 9.6.2 实例6——接口... 180 9.7 面向对象的多态性... 183 9.7.1 实例7——通过继承实现 9.7.2 实例8——通过接口实现 9.8 高手甜点... 186 9.9 跟我练练手... 186 第10章 错误、异常处理与调试... 187 10.1 常见的错误和异常... 188 10.2 错误处理... 191 10.2.1 php.ini中的错误处理机制... 191 10.2.2 实例1——应用DIE语句 10.2.3 实例2——自定义错误和错误 10.2.4 实例3——错误记录... 196 10.3 异常处理... 197 10.3.1 实例4——异常的基本处理 10.3.2 实例5——自定义的异常 10.3.3 实例6——处理多个异常... 200 10.3.4 实例7——设置顶层异常 10.4 实例8——处理异常或错误... 203 10.5 高手甜点... 204 10.6 跟我练练手... 205 第11章 文件系统与操作... 207 11.1 文件操作... 208 11.1.1 实例1——文件数据写入... 208 11.1.2 实例2——文件数据读取... 211 11.2 实例3——目录操作... 213 11.3 实例4——文件的上传... 218 11.4 实例5——编写文本类型的访客 11.5 高手甜点... 221 11.6 跟我练练手... 221 第12章 图形图像处理技术... 223 12.1 实例1——在PHP中加载GD库... 224 12.2 图形图像的典型应用案例... 226 12.2.1 实例2——创建一个简单的 12.2.2 实例3——使用GD2函数在 12.2.3 实例4——使用TrueType字体 12.3 Jpgraph库的使用... 231 12.3.1 实例5——Jpgraph的安装... 231 12.3.2 实例6——Jpgraph的配置... 232 12.3.3 实例7——制作柱形图 12.3.4 实例8——制作圆形统计图... 234 12.4 实例9——制作3D饼形统计图... 236 12.5 高手甜点... 237 12.6 跟我练练手... 238 第13章 Cookie和会话管理... 239 13.1 Cookie基本操作... 240 13.1.1 什么是Cookie. 240 13.1.2 实例1——创建Cookie. 240 13.1.3 实例2——读取Cookie. 241 13.1.4 实例3——删除Cookie. 242 13.2 认识Session. 243 13.2.1 什么是Session. 243 13.2.2 Session基本功能... 244 13.2.3 Cookie与Session. 244 13.2.4 储存Session ID在Cookie 13.3 会话管理... 244 13.3.1 实例4——创建会话... 244 13.3.2 实例5——注册会话变量... 245 13.3.3 实例6——使用会话变量... 246 13.3.4 实例7——注销和销毁会话 13.4 实例8——会话管理的综合应用... 247 13.5 高手甜点... 248 13.6 跟我练练手... 249 第14章 PHP加密技术... 251 14.1 使用PHP加密函数... 252 14.1.1 实例1——使用md5()函数进行 14.1.2 实例2——使用crypt()函数 14.1.3 实例3——使用sha1()函数进行 14.2 使用PHP加密扩展库... 254 14.2.1 实例4——安装和使用Mcrypt 14.2.2 实例5——使用Mhash 14.3 高手甜点... 258 14.4 跟我练练手... 259
第3篇 数据库操作 第15章 MySQL数据库基础... 263 15.1 什么是MySQL. 264 15.1.1 客户机—服务器软件... 264 15.1.2 MySQL版本... 264 15.1.3 MySQL的优势... 265 15.2 启动服务并登录MySQL数据库... 265 15.2.1 实例1——启动MySQL 15.2.2 实例2——登录MySQL 15.2.3 实例3——配置Path变量... 269 15.3 MySQL数据库的基本操作... 271 15.3.1 实例4——创建数据库... 271 15.3.2 实例5——查看数据库... 271 15.3.3 实例6——删除数据库... 272 15.3.4 实例7——选择数据库... 272 15.4 MySQL数据表的基本操作... 273 15.4.1 实例8——创建数据表... 273 15.4.2 实例9——查看数据表结构... 274 15.4.3 实例10——修改数据表 15.4.4 实例11——删除数据表... 276 15.5 MySQL语句操作... 276 15.5.1 实例12——插入记录... 277 15.5.2 实例13——查询记录... 277 15.5.3 实例14——修改记录... 278 15.5.4 实例15——删除记录... 278 15.6 MySQL数据库的备份与还原... 278 15.6.1 实例16——数据备份... 279 15.6.2 实例17——数据还原... 285 15.7 高手甜点... 287 15.8 跟我练练手... 288 第16章 使用MySQL Workbench 16.1 MySQL Workbench简介... 290 16.1.1 MySQL Workbench概述... 290 16.1.2 MySQL Workbench 的优势... 290 16.1.3 MySQL Workbench 的安装... 290 16.2 SQL Development的基本操作... 293 16.2.1 创建数据库连接... 293 16.2.2 创建新的数据库... 294 16.2.3 创建和删除新的数据表... 296 16.2.4 添加、修改表记录... 299 16.2.5 查询表记录... 299 16.2.6 修改表结构... 300 16.3 Data Modeling的基本操作... 301 16.3.1 建立E-R模型... 301 16.3.2 导入E-R模型... 305 16.4 Server Administration的基本操作... 307 16.4.1 管理MySQL用户... 307 16.4.2 备份MySQL数据库... 310 16.4.3 还原MySQL数据库... 313 16.5 高手甜点... 314 16.6 跟我练练手... 315 第17章 PHP操作MySQL数据库... 317 17.1 PHP访问MySQL数据库的一般 17.2 实例1——连接数据库前的准备 17.3 PHP操作MySQL数据库的函数... 319 17.3.1 实例2——通过mysqli类库访问 17.3.2 实例3——使用mysqli_connect() 17.3.3 实例4——使用mysqli_select_db() 17.3.4 实例5——使用mysqli_query() 17.3.5 实例6——使用mysqli_fetch_assoc() 17.3.6 实例7——使用mysqli_fetch_ 17.3.7 实例8——使用mysqli_num_ 17.3.8 实例9——使用mysqli_free_ 17.3.9 实例10——使用mysqli_close() 17.4 实例11——使用insert语句动态添加 17.5 实例12——使用select语句查询数据 17.6 高手甜点... 328 17.7 跟我练练手... 329
第4篇 高级 应 用 第18章 PDO数据库抽象类库... 333 18.1 PDO概述... 334 18.2 实例1——PDO的安装... 334 18.3 使用PDO操作MySQL. 335 18.3.1 实例2——连接MySQL数据库 18.3.2 实例3——使用PDO时的try 18.3.3 实例4——使用PDO执行SQL 18.3.4 实例5——使用PDO获取返回 18.3.5 实例6——使用PDO执行SQL 18.3.6 实例7——使用PDO执行SQL 18.4 实例8——PDO的prepare表述... 343 18.5 高手甜点... 344 18.6 跟我练练手... 345 第19章 JavaScript编程基础... 347 19.1 认识JavaScript 348 19.1.1 什么是JavaScript 348 19.1.2 JavaScript的特点... 348 19.2 JavaScript在HTML中的使用... 349 19.2.1 实例1——在HTML网页头中 19.2.2 实例2——在HTML网页中嵌入 19.2.3 实例3——在HTML网页的元素 19.2.4 实例4——在HTML中调用已经 19.2.5 实例5——通过JavaScript伪 19.3 JavaScript的基本语法... 354 19.3.1 执行顺序... 355 19.3.2 区分大小写... 355 19.3.3 分号与空格... 355 19.3.4 对代码行进行折行... 355 19.3.5 实例6——注释... 356 19.4 JavaScript的数据结构... 357 19.4.1 标识符... 357 19.4.2 关键字... 358 19.4.3 保留字... 358 19.4.4 常量... 359 19.4.5 实例7——变量... 359 19.5 看透代码中的数据类型... 361 19.5.1 实例8——typeof运算符... 362 19.5.2 实例9——Undefined类型... 363 19.5.3 实例10——Null类型... 363 19.5.4 实例11——Boolean类型... 364 19.5.5 实例12——Number类型... 365 19.5.6 实例13——String类型... 366 19.6 条件判断语句... 367 19.6.1 实例14——if语句... 367 19.6.2 实例15——if…else语句... 368 19.6.3 实例16——switch语句... 369 19.7 循环控制语句... 371 19.7.1 实例17——while语句... 371 19.7.2 实例18——do…while语句... 372 19.7.3 实例19——for循环... 373 19.8 在PHP中调用JavaScript代码... 374 19.8.1 实例20——验证表单元素的值 19.8.2 实例21——实现即时验证 19.9 实例22——制作树形菜单... 377 19.10 高手甜点... 381 19.11 跟我练练手... 382 第20章 PHP与XML技术的综合 20.1 实例1——理解XML概念... 384 20.2 XML语法基础... 385 20.2.1 实例2——XML文档组成 20.2.2 实例3——XML元素介绍... 387 20.2.3 处理指令实体引用... 389 20.2.4 实例4——XML命名空间... 389 20.2.5 实例5——XML DTD.. 390 20.2.6 实例6——使用CDATA 20.3 实例7——将XML文档转换为HTML 20.4 实例8——在PHP中创建XML 20.5 使用SimpleXML扩展... 393 20.5.1 实例9——创建SimpleXMLElement 20.5.2 实例10——访问特定节点元素 20.5.3 实例11——添加XML元素 20.6 实例12——动态创建XML文档... 397 20.7 高手甜点... 398 20.8 跟我练练手... 398 第21章 PHP与Ajax的综合应用... 399 21.1 Ajax概述... 400 21.1.1 实例1——什么是Ajax. 400 21.1.2 Ajax的关键元素... 403 21.1.3 实例2——CSS与Ajax. 403 21.2 Ajax快速入门... 404 21.2.1 实例3——全面剖析 21.2.2 实例4——发出Ajax请求... 406 21.2.3 实例5——处理服务器响应... 408 21.3 实例6——在PHP中应用Ajax技术 21.4 高手甜点... 414 21.5 跟我练练手... 415 第22章 MVC结构与 Smarty模板... 417 22.1 MVC概述... 418 22.2 什么是模板引擎... 419 22.3 Smarty概述... 419 22.3.1 什么是Smarty. 419 22.3.2 Smarty与MVC.. 420 22.4 Smarty的安装和配置... 420 22.4.1 实例1——Smarty下载 22.4.2 实例2——第一个Smarty 22.5 Smarty模板设计... 422 22.5.1 Smarty模板文件... 422 22.5.2 实例3——Smarty标识... 422 22.5.3 实例4——Smarty变量... 424 22.5.4 实例5——Smarty数组... 425 22.5.5 实例6——Smarty中流程控制 22.6 高手甜点... 428 22.7 跟我练练手... 428 第23章 Zend Framework 框架... 429 23.1 什么是ZendFramework框架... 430 23.2 Zend Framework的目录结构... 430 23.3 Zend Framework的安装与测试... 431 23.3.1 实例1——Zend Framework的 23.3.2 实例2——创建一个新的Zend 23.4 PHP与ZendFramework的基本
23.4.1 实例3——在Zend Framework 23.4.2 实例4——在Zend Framework的 23.4.3 实例5——在Zend Framework中 23.4.4 实例6——在Zend Framework中 23.4.5 实例7——在Zend Framework中 23.5 高手甜点... 440 23.6 跟我练练手... 440
第5篇 项目 实 战 第24章 开发论坛... 443 24.1 网站的需求分析... 444 24.1.1 需求分析... 444 24.1.2 网站功能模块分析... 444 24.2 数据库分析... 444 24.2.1 分析数据库... 445 24.2.2 创建数据表... 445 24.3 论坛的代码实现... 446 24.3.1 数据库连接相关文件... 446 24.3.2 论坛主页面... 452 24.3.3 新用户注册页面... 456 24.3.4 论坛帖子的相关页面... 459 24.3.5 后台管理系统的相关页面... 469
第2章 配置PHP服务器环境 在编写PHP文件之前,读者需要配置PHP服务器,包括软硬件环境的检查,如何获得PHP安装资源包等,详细讲解目前常见的主流PHP服务器搭配方案:PHP IIS和PHP Apache。另外讲述了在Windows下如何使用WampServer组合包,最后通过一个测试案例,读者可以检查Web服务器建构是否成功。
本章要点(已掌握的在方框中打钩) 了解PHP服务器的概念 熟悉安装PHP前的准备工作 掌握PHP IIS服务器的安装配置方法 掌握PHP Apache服务器的环境搭建方法 Windows下使用WampServer组合包 测试第一个PHP程序
2.1 PHP服务器概述 在学习PHP服务器之前,读者需要了解HTML网页的运行原理。网页浏览者在客户端通过浏览器向服务器发出页面请求,服务器接收到请求后将页面返回到客户端的浏览器,这样网页浏览者即可看到页面显示效果。 PHP语言在Web开发中作为嵌入式语言,需要嵌入HTML代码中执行。要想运行PHP网站,需要搭建PHP服务器。PHP网站的运行原理如图2-1所示。
图2-1 PHP网站运行原理从图2-1可以看出,PHP程序运行的基本流程如下。 (1) 网页浏览者首先在浏览器的地址栏中输入要访问的主页地址,按Enter键触发该申请。 (2) 浏览器将申请发送到PHP网站服务器。网站服务器根据申请读取数据库中的页面。 (3) 通过Web服务器向客户端发送处理结果,客户端的浏览器显示最终页面。
2.2 安装PHP前的准备工作 在安装PHP之前,读者需要了解安装所需要的软硬件环境和获取PHP安装资源包的途径。
|
| 图2-3中,下拉列表中VC11代表的是the Visual Studio 2012 compiler编译器编译,通常用于PHP IIS服务器下。要求用户安装Visual C Redistributable for Visual Studio 2012。 |
显示所选版本号中PHP安装包的各种格式。这里选择Zip压缩格式,单击Zip文字链接,如图2-4所示。
打开【另存为】对话框,选择保存路径,然后保存文件即可,如图2-5所示。
2.3 PHP IIS服务器的安装配置
下面介绍PHP IIS服务器架构的配置方法和技巧。
IIS是Internet Information Services(互联网信息服务)的简称,是微软公司提供的基于Microsoft Windows的互联网基本服务。由于它功能强大、操作简单和使用方便,所以是目前较为流行的Web服务器之一。
目前IIS只能运行在Windows系列的操作系统上。针对不同的操作系统,IIS也有不同的版本。下面以Windows 7为例进行讲解,默认情况下此操作系统没有安装IIS。
安装IIS组件的具体步骤如下。
单击【开始】按钮,在弹出的【开始】菜单中选择【控制面板】命令,如图2-6所示。
打开【控制面板】窗口,双击【程序】选项,如图2-7所示。
图2-6 选择【控制面板】命令 |
图2-7 【控制面板】窗口 |
打开【程序】窗口,从中单击【打开或关闭Windows功能】文字链接,如图2-8所示。
在打开的【Windows功能】对话框中,选中【Internet信息服务】复选框,然后单击【确定】按钮,如图2-9所示。
图2-8 【程序】窗口 |
图2-9 【Windows功能】对话框 |
安装完成后,即可测试是否成功。在IE浏览器的地址栏中输入“http://localhost/”,打开IIS的欢迎画面页面,如图2-10所示。
IIS安装完成后,即可开始安装PHP。PHP的安装过程大致分成3个步骤。
将
在安装目录中,找到php.ini-development文件,此文件正是PHP 5.5的配置文件。将这个文件的扩展名.ini-development修改为.ini,然后用记事本打开。文件中参数很多,所以建议读者使用记事本的查找功能,快速查找需要的参数。
查找并修改相应的参数值:extension_dir="D:\PHP5\ext",此参数为PHP扩展函数的查找路径,其中“D:\PHP5\”为PHP的安装路径,读者可以根据自己的安装路径进行修改。采用同样的方法,修改参数:cgi.force_redirect =0。
另外,去除下面的参数值扩展前的引号,最终结果如图2-12所示。
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_odbc.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll
要想让系统运行PHP时找到上面的安装路径,就需要将PHP的安装目录添加到系统变量中。具体操作步骤如下。
右击桌面上的【计算机】图标,在弹出的快捷菜单中选择【属性】命令,打开【系统】窗口,如图2-13所示。
单击【高级系统设置】文字链接,打开【系统属性】对话框,如图2-14所示。
默认显示【高级】选项卡,在该选项卡中单击【环境变量】按钮,打开【环境变量】对话框。在【系统变量】列表框中选择变量Path,然后单击【编辑】按钮,如图2-15所示。
弹出【编辑系统变量】对话框,在【变量值】文本框的末尾输入“;d:\PHP
单击【确定】按钮,返回到【环境变量】对话框,依次单击【确定】按钮即可关闭对话框,然后重新启动计算机。这样设置的环境变量即可生效。
图2-14 【系统属性】对话框 |
图2-15 【环境变量】对话框 |
如果用户是按照前述的方式来启动 IIS 网站服务器,那么整个网站服务器的根目录就位于“(系统盘符):\Inetpub\wwwroot”中,也就是如果要添加网页到网站中显示,都必须放置在这个目录之下。但是会发现这个路径不仅太长,也不好记,使用起来相当不方便。
这些问题都可以通过修改虚拟目录来解决,具体操作步骤如下。
在桌面上右击【计算机】图标,在弹出的快捷菜单中选择【管理】命令,打开【计算机管理】窗口,在左侧的列表框中展开【服务和应用程序】选项,选择【Internet 信息服务(IIS)管理器】选项,在右侧选择DefaultWeb Site选项后,右击并在弹出的快捷菜单中选择【添加虚拟目录】命令,如图2-17所示。
打开【添加虚拟目录】对话框,在【别名】文本框中输入虚拟网站的名称,这里输入“php
至此,已完成了 IIS 网站服务器设置的更改,IIS 网站服务器的网站虚拟目录已经更改为“D:\php”了。
2.4 PHP Apache服务器的环境搭建
Apache支持大部分操作系统,搭配PHP程序的应用,即可开发出功能强大的互动网站。本节主要讲述PHP Apache服务器的搭建方法。
Apache可以运行在几乎所有的计算机平台上,由于其跨平台和安全性被广泛使用,是目前最流行的Web服务器端软件之一。
和一般的Web服务器相比,Apache主要特点如下。
(1) 跨平台应用:几乎可以在所有的计算机平台上运行。
(2) 开放源代码:Apache服务程序由全世界的众多开发者共同维护,并且任何人都可以自由使用,充分体现了开源软件的精神。
(3) 支持HTTP 1.1协议:Apache是最先使用HTTP 1.1协议的Web服务器之一,它完全兼容HTTP 1.1协议并与HTTP 1.0协议向后兼容。Apache已为新协议所提供的全部内容做好了必要的准备。
(4) 支持通用网关接口(CGI):Apache遵守CGI 1.1标准并且提供了扩充的特征,如定制环境变量和很难在其他Web服务器中找到的调试支持功能。
(5) 支持常见的网页编程语言:可支持的网页编程语言包括PERL、PHP、Python和Java等,支持各种常用的Web编程语言使Apache具有更广泛的应用领域。
(6) 模块化设计:通过标准的模块实现专有的功能,提高了项目完成的效率。
(7) 运行非常稳定,同时具备效率高、成本低的特点,而且具有良好的安全性。
在安装 Apache 网站服务器之前,如果所使用的操作系统已经安装了网站服务器,如IIS网站服务器等,用户必须要先停止这些服务器,才能正确安装 Apache 网站服务器。
以 Windows 7 操作系统为例,请在桌面上右击【计算机】图标,在弹出的快捷菜单中选择【管理】命令,打开【计算机管理】窗口,在左侧的列表框中展开【服务和应用程序】选项,然后选择【Internet 信息服务(IIS)管理器】选项,在右侧的列表框中单击【停止】文字链接即可停止IIS服务器,如图2-19所示。
如此一来,原来的服务器软件即失效不再工作,也不会与即将安装的 Apache 网站服务器产生冲突。当然如果用户的系统原来就没有安装 IIS 等服务器软件,则可略过这一小节的步骤直接进行服务器的安装。
Apache是免费软件,用户可以从官方网站直接下载。Apache的官方网站为http://www.apache.org。
下面以Apache 2.2为例,讲解如何安装Apache。具体操作步骤如下。
双击Apache安装程序,打开安装向导欢迎界面,单击Next按钮,如图2-20所示。
弹出Apache许可协议界面,阅读完后,选中Iaccept the terms in the license agreement单选按钮,单击Next按钮,如图2-21所示。
图2-20 欢迎界面 |
图2-21 Apache许可协议界面 |
弹出Apache 服务器注意事项界面,阅读完成后,单击Next按钮,如图2-22所示。
弹出服务器信息设置界面,输入服务器的一些基本信息,分别为Network Domain(网络域名)、Server Name(服务器名)、Administrator’s Email Address(管理员信箱)和Apache的工作方式。如果只是在本地计算机上使用Apache,前两项可以输入“localhost”。工作方式建议选择第一项:针对所有用户,工作端口为80,当机器启动时自动启动Apache。单击Next按钮,如图2-23所示。
弹出安装类型界面,其中Typical为典型安装,Custom为自定义安装。默认情况下,选择典型安装即可,单击Next按钮,如图2-24所示。
弹出安装路径选择界面,单击Change按钮,可以重新设置安装路径,本实例采用默认安装路径,单击Next按钮,如图2-25所示。
弹出安装准备就绪界面,单击Install按钮,如图2-26所示。
系统开始自动安装Apache主程序,安装完成后,弹出提示信息对话框,单击Finish按钮关闭对话框,如图2-27所示。
图2-22 Apache 服务器注意事项界面 |
图2-23 服务器信息设置界面 | ||
图2-24 安装类型界面 |
图2-25 安装路径选择界面 |
| |
图2-26 安装准备就绪界面 |
图2-27 Apache安装完成 |
| |