首页>参考读物>计算机科学与技术>软件与程序设计

PHP、MySQL和Apache编程导学
作者 : Julie C. Meloni
译者 : 王洪大 李军
丛书名 : Web开发系列丛书
出版日期 : 2008-03-08
ISBN : 7-111-23278-0
定价 : 56.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 398
开本 : 16开
原书名 : PHP、MySQL and Apache all in one
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书教您学习怎样:

  ■ 安装和配置PHP脚本语言、MySQL数据库系统和Apache Web服务器。
  ■ 综合各项技术创建一个动态的、支持数据库的Web站点。
  ■ 通过PHP与MySQL进行交互。
  ■ 与表单和文件一起工作。
  ■ 创建基于Web的讨论论坛或邮件列表。
  ■ 添加一个店面和购物车。
  ■ 优化MySQL数据库。
  ■ 调优Apache服务器性能。
  ■ 限制对应用程序的访问。
  ■ 安装一个安全的Web服务器。
  

  一册在手,学习不愁
  在短时间内,通过整合3个先进的开源Web开发工具:PHP、MySQL和Apache,您能学会怎样创建动态的、交互的网站和应用程序。
  本书的每一条经验都是基于前面知识的积累。通过使用一个简单易懂的、循序渐进的方法,让您能逐步地学习关于PHP脚本、MySQL数据库和Apache Web服务器的基础知识。
  不管您是使用Linux、Windows或者Mac OS X,本书附赠光盘都附带了一个完整的启动工具,使你能够安装设置一个可以用于学习、测试和产品开发的环境所需的所有软件。

图书特色

图书前言

欢迎阅读本书。在本版书中,我们终于能够一起使用PHP 5和MySQL 5,这都是我们期待已久的软件版本。因此,本书中的所有代码都是基于PHP 5来和MySQL 5交互的。此外,我们添加了两个新的章节来介绍PHP和MySQL中的一些新特性。在本书中,你将学到配置和管理Apache Web服务器所必需的概念、PHP编程基础,以及使用和管理与数据库系统相关的MySQL的方法。本书的目标是提供理解如何无缝地整合这些技术的基础,并且教授整合它们的实用知识。
  本书的目标读者
  本书是为对基于Web的开发环境(可能是在Linux/UNIX或Windows下)具有一般性理解的人们量身打造的。假设你已经熟悉了自己的操作系统,并且掌握了编译(在Linux/UNIX系统上)或安装(在Windows systems和Mac OS X)软件的基本方法。
  假设读者没有任何关于语言的知识,可先阅读介绍使用PHP编程的章节,然而,如果你有使用其他编程语言的经验,例如ASP、JSP或Perl,你会发现这些章节学起来很容易。类似的,如果你已经使用过其他的数据库,例如Oracle或Microsoft SQL Server,就会为学习和MySQL相关的内容奠定一个坚实的基础。
  唯一真正需要的是你能够理解使用HTML创建静态Web内容。如果你只是刚刚开始Web开发,还是应该能够使用本书,但是,你应该先考虑阅读一个HTML教程。如果你熟悉了创建基本的页面,那么你会学得更好。
  本书的组织结构
  本书分为六个部分,对应特定的主题。应该按部就班地学习每个部分,因为每个部分的内容都构建在前面部分的基础之上。
  第一部分“基础知识”,提供一个安装的快速指导,并带领读者深入了解安装和配置MySQL、Apache和PHP的过程。在继续学习之前,你至少需要完成这些课程中的一种,要么快速安装,或者是更长的过程,除非你已经成功地安装了这些软件。即便你不需要在自己的环境中安装或配置MySQL、Apache和PHP,还是应该浏览一下这些课程,以便理解它们相互交互的基础。
  第二部分“PHP语言结构”,教授PHP语言基础,包括数组和对象这样的结构化元素。那些示例将帮助你习惯于编写代码,将这些示例上传到你的服务器,并测试其结果。
  第三部分“深入编程”,介绍了中级应用程序开发的主题,包括使用表单和文件、限制访问以及完成一些小项目,这些小项目是设计用来介绍一个专门概念的。
  第四部分“PHP和MySQL整合”,介绍使用数据库的一般性方法,例如,数据库规范化,以及使用PHP来连接并操作MySQL。其中包含了SQL基础知识,还包括特定于MySQL的函数和其他信息。
  第五部分“基本项目”,介绍如何整合前面已经学习到的所有知识,使用PHP和MySQL执行一个特定任务。这些项目包括地址簿、一个讨论论坛和一个基本的网上商店。这些例子都是在一个黑白环境下构建的,就是说在美观性上显得很简约。这使你可以把精力集中在程序设计和搭建结构所需的逻辑上,而不是在显示美观上。
第六部分“管理和优化”,介绍管理和优化Apache和MySQL。它还包含了有关虚拟主机以及建立一个安全Web服务器的信息。
  如果你发现自己已经熟悉某个主题,可以跳过并继续向前学习。然而,某些地方会引用前面的章节中学习过的特定概念,因此,请注意必须浏览一下跳过的章节,以便保证你的开发环境和本书一致。
  在每章的末尾,都有一些问答题来测试你对该章内容的掌握程度。附加的思考题则提供了应用该章知识的另外一种方式,并且引导你在下一章使用这些刚刚学习到的知识。
  本书体例
  本书使用不同的字体来表示代码和正文,也通过这种方法来帮你识别重要的概念。在本书中,代码、命令和你所输入的或者在计算机屏幕上看到的文本,都使用等宽字体。“提示”给出了和当前话题相关的一段有趣的信息。
  “你知道吗”提出建议,或者教给你执行一项任务。
  “注意”警告你潜在的缺陷并说明如何避免它们。

封底文字

本书教您学习怎样: ■ 安装和配置PHP脚本语言、MySQL数据库系统和Apache Web服务器。 ■ 综合各项技术创建一个动态的、支持数据库的Web站点。 ■ 通过PHP与MySQL进行交互。 ■ 与表单和文件一起工作。 ■ 创建基于Web的讨论论坛或邮件列表。 ■ 添加一个店面和购物车。 ■ 优化MySQL数据库。 ■ 调优Apache服务器性能。 ■ 限制对应用程序的访问。 ■ 安装一个安全的Web服务器。 一册在手,学习不愁 在短时间内,通过整合3个先进的开源Web开发工具:PHP、MySQL和Apache,您能学会怎样创建动态的、交互的网站和应用程序。 本书的每一条经验都是基于前面知识的积累。通过使用一个简单易懂的、循序渐进的方法,让您能逐步地学习关于PHP脚本、MySQL数据库和Apache Web服务器的基础知识。 不管您是使用Linux、Windows或者Mac OS X,本书附赠光盘都附带了一个完整的启动工具,使你能够安装设置一个可以用于学习、测试和产品开发的环境所需的所有软件。

作者简介

Julie C. Meloni:Julie C. Meloni: i2i Interactive公司(一家多媒体公司,坐落于加利福尼亚州洛杉矶市)的技术总监。她自从Web诞生的时候就开始从事基于Web应用的开发,并喜欢写作一些关于Web编程语言和数据库方面的图书(如《Sams Teach Yourself MySQL in 24 Hours》)以及相关主题的文章。

译者简介

王洪大 李军:暂无简介

译者序

在Web应用开发非常普及的今天,PHP语言的应用已经受到专业人士的普遍关注。现在,全球已有450万名PHP开发工程师。而根据TIOBE的最新统计,PHP语言的排名位居第5,仅次于Java、C、VB和C++。
  LAMP(Linux+Apache+MySQL+PHP)应用框架在提出之后,迅速得到人们的认可并流行起来。Linux的开放系统,加上最通用的网络服务器Apache,还有开源的关系数据库系统MySQL,以及流行的对象脚本语言PHP,这个最强大的组合使得Web开发人员信心倍增,因为基本上不需要什么成本负担,就能够通过这个框架开发出功能强大的Web应用程序。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和Net商业软件形成三足鼎立之势,受到整个IT界的关注。
  因而,在今天的IT界,尤其是如果你从事Web应用程序的开发,却不能熟练地掌握PHP、MySQL和Apache这三个强大的开源工具,这多少会遭到一些质疑。那么,如何迅速地入门,并掌握它们最核心的应用呢?这正是本书要解决的问题。
本书是为对基于Web的开发环境(可能是在Linux/UNIX或Windows下)具有一般性理解的人们量身打造的。
  全书共分为六个部分。第一部分“基础知识”,提供了一个对安装的快速指导,并引领读者深入了解安装和配置MySQL、Apache和PHP的过程。第二部分“PHP语言结构”,教授PHP语言基础,包括数组和对象这样的结构化元素。第三部分“深入编程”,介绍了中级应用程序开发的主题,包括使用表单和文件、限制访问以及完成包含某个专门概念的小项目。第四部分“PHP和MySQL整合”,介绍了使用数据库的一般性方法,例如,数据库规范化,以及使用PHP来连接并操作MySQL。其中包含了SQL基础知识,还包括特定于MySQL的函数和其他信息。第五部分“基本项目”,介绍如何整合前面已经学习到的所有知识,使用PHP和MySQL执行一个特定任务。第六部分“管理和优化”,介绍管理和优化Apache和MySQL的方法。在每章的末尾,都有一些问答题来测试你对章节内容的掌握程度。附加的思考题则提供了应用该章知识的另外一种方式,并且引导你在下一章使用这些刚刚学习到的知识。
  本书英文版是美国最受欢迎的IT图书系列“Sams Teach Yourself”中的一本,并且已经出版到了第3版。由于内容清晰易懂,实例内容丰富实用,本书的数版都受到读者的广泛好评和欢迎。
  很荣幸能够有机会翻译这样一本PHP、MySQL和Apache技术的入门好书,也非常希望读者朋友们能够通过本书掌握PHP、MySQL和Apache整合应用的Web开发技能。除了王洪大、李军,参加本书翻译工作的还有罗娜、刘金华、刘伟超、罗庚臣、刘二然、郑芳菲、庄逸川、王世高、郭莹、陈垚、邓勇、何进伟、贾晓斌、汪蔚和齐国涛。

图书目录

译者序
作者简介
前言


第一部分基础知识
第1章安装QuikStart向导1
11Linux/UNIX下的安装1
111安装MySQL1
112安装Apache2
113安装PHP2
12Windows下的安装3
121安装MySQL3
122安装Apache4
123安装PHP6
13Mac OS X下的安装7
131安装MySQL7
132安装PHP7
14故障排除9
第2章安装和配置MySQL10
21MySQL的当前版本和未来版本10
22如何获取MySQL10
23在Linux/UNIX上安装MySQL10
24在Mac OS X上安装MySQL11
25在Windows上安装MySQL13
26安装故障排除18
27基本安全规则18
271启动MySQL18
272增强MySQL连接的安全18
28MySQL权限系统简介19
29使用用户权限20
291添加用户20
292移除权限22
210小结22
211Q&A22
212实践练习23
第3章安装和配置Apache24
31Apache的当前版本及未来版本24
32选择合适的安装方法24
321从源代码安装24
322安装一个二进制代码版本25
33在Linux/UNIX上安装Apache25
331下载Apache源代码25
332解压源代码25
333准备编译Apache25
334编译和安装Apache26
34在Mac OS X上安装Apache26
35在Windows上安装Apache27
36Apache配置文件结构29
361指令29
362容器30
363条件评估31
364ServerRoot指令31
365perdirectory配置文件32
37Apache日志文件32
371access_log文件32
372error_log文件33
373其他文件33
38Apache相关命令33
381Apache服务器二进制33
382Apache控制脚本34
39第一次启动Apache34
391检查你的配置文件34
392启动Apache35
310故障排除36
3101已有Web服务器36
3102不允许绑定到端口36
3103拒绝访问36
3104错误组设置36
311小结36
312Q&A36
313实践练习37
第4章安装和配置PHP38
41PHP的当前版本和未来版本38
42在带有Apache的Linux/UNIX
上编译PHP38
421额外的Linux/UNIX配置选项40
422在Linux/UNIX上整合
PHP和Apache40
43在Mac OS X上安装PHP40
44在Windows上安装PHP42
45phpini基础43
46测试安装43
47获取安装帮助44
48PHP脚本基础45
481开始和结束一个PHP语句块46
482echo语句和print()函数47
483组合HTML和PHP47
484为PHP代码添加注释48
49小结49
410Q&A49
411实践练习49
第二部分PHP语言结构
第5章PHP的组成部分51
51变量51
52数据类型53
521使用settype()来改变类型55
522通过类型转换改变类型55
523为何测试类型57
53操作符和表达式57
531赋值操作符58
532算术操作符58
533连接操作符58
534复合赋值操作符59
535自动增加和减少一个
整型变量60
536比较操作符60
537使用逻辑操作符创建复杂的
测试表达式61
538操作符优先级62
54常量63
55小结64
56Q&A64
57实践练习64
第6章PHP的流程控制功能66
61转换流程66
611if语句66
612使用else子句的if语句67
613使用带有elseif子句的if语句67
614switch语句68
615使用?运算符69
62循环70
621while语句70
622do…while语句71
623for语句71
624用break语句跳出循环72
625用continue语句跳过迭代74
626嵌套循环74
63代码块和浏览器输出76
64小结77
65Q&A77
66实践练习77
第7章使用函数79
71什么是函数79
72调用函数79
73定义一个函数80
74从用户定义的函数返回值82
75变量作用域83
76使用static语句在函数调用之间
保存状态85
77关于参数的更多内容86
771为参数设置默认值87
772把变量引用传递给函数88
78测试函数是否存在89
79小结90
710Q&A90
711实践练习90
第8章使用数组92
81什么是数组92
82创建数组92
821创建关联数组93
822创建多维数组93
83一些和数组相关的函数95
84小结96
85Q&A96
86实践练习96
第9章使用对象98
91创建一个对象98
911对象的属性99
912对象方法100
913构造方法101
92对象继承102
93小结103
94Q&A103
95实践练习103
第三部分深入编程
第10章使用字符串、日期和时间105
101使用PHP格式化字符串105
1011使用printf()106
1012指定一个字段宽度108
1013参数交换111
1014存储一个格式化字符串111
102了解PHP中的字符串112
1021索引字符串的一个注意
事项112
1022使用strlen()获取一个字符
串的长度112
1023使用strstr()获取一个字符
串的子串112
1024使用strpos()找到一个子
字符串的位置113
1025使用substr()提取一个
字符串的一部分113
1026使用strtok()分解一个
字符串114
103在PHP中操作字符串115
1031使用trim()、ltrim()和
strip_tags()整理一个
字符串115
1032使用substr_replace()替换
一个字符串的一部分116
1033使用str_replace()替换
子字符串116
1034转换大小写117
1035使用wordwrap()和nl2br()
换行文本118
1036使用explode()把字符串
分解到数组119
104使用PHP中的日期和时间函数120
1041使用time()获取日期120
1042使用getdate()转换一个
时间戳120
1043使用date()转换一个
时间戳121
1044使用mktime()创建时间戳123
1045使用checkdate()测试日期124
105其他字符串、日期和时间函数124
106小结124
107Q&A124
108实践练习125
第11章使用表单126
111创建一个简单的输入表单126
112使用用户定义数组访问表单输入127
113在单个页面上组合HTML和
PHP代码129
114使用隐藏字段来保存状态131
115重定向用户132
116根据表单提交发送邮件133
1161mail()函数的系统配置133
1162创建表单134
1163创建发送邮件的脚本135
1164使用HTML格式化邮件137
117使用文件上传138
1171创建文件上传表单138
1172创建一个文件上传脚本139
118小结140
119实践练习140
第12章使用Cookie和用户会话142
121Cookie简介142
122使用PHP设置一个cookie143
123会话函数概览145
124开始一个会话145
125使用会话变量146
126在查询字符串中传递会话ID149
127销毁会话和重置变量149
128在一个带有注册用户的环境中
使用会话150
1281使用注册的用户150
1282使用用户偏好150
129小结150
1210Q&A151
1211实践练习151
第13章使用文件和目录152
131使用include()包含文件152
1311从一个被包含文档
返回一个值153
1312在控制结构中使用
include()153
1313使用include_once()154
1314include_path命令155
132验证文件155
1321使用file_exists()检查
存在性155
1322文件还是目录155
1323检查一个文件的状态156
1324使用filesize()确定文件
的大小156
1325获取有关一个文件的
日期信息156
1326编写一个执行多文件测试的
函数157
133创建并删除文件158
134打开一个文件供写入、读取或
添加159
135读取文件159
1351使用fgets()和feof()来
从一个文件读取行159
1352使用fread()函数从文件读取
任意数量的数据161
1353使用fgetc()从文件读取
字符162
136写入文件或向文件添加内容163
1361使用fwrite()或fputs()
写入文件163
1362使用flock()锁定文件164
137使用目录165
1371使用mkdir()创建目录165
1372使用rmdir()删除一个目录165
1373使用opendir()打开一个
目录以供读取165
1374使用readdir()从一个目录
读取内容165
138使用popen()打开到进程和
离开进程的管道167
139使用exec()运行命令168
1310使用system()或passthru()
运行命令170
1311小结171
1312Q&A171
1313实践练习171
第14章使用图像173
141理解图像创建过程173
142对PHP的必要修改173
143绘制一个新的图像174
1431绘制形状和线条174
1432使用颜色填充176
144绘制有趣的饼图177
145修改已有图像180
146来自用户输入的图像创建182
147小结185
148Q&A185
149实践练习185
第四部分PHP和MySQL整合
第15章理解数据库设计过程187
151良好的数据库设计的重要性187
152表关系的类型188
1521一对一关系188
1522一对多关系189
1523多对多关系189
153理解规范化190
1531平表带来的问题191
1532第一范式191
1533第二范式192
1534第三范式192
154遵从设计过程193
155小结193
156Q&A194
157实践练习194
第16章SQL基本命令195
161MySQL数据类型195
1611数字数据类型195
1612日期和时间类型196
1613字符串类型197
162表的创建语法197
163使用INSERT命令199
164使用SELECT命令199
1641排序SELECT结果200
1642限制结果201
165在查询中使用WHERE202
1651在WHERE子句中使用
操作符202
1652使用LIKE比较字符串203
166从多个表中查询203
1661使用JOIN205
1662使用子查询206
167使用UPDATE命令来修改记录207
1671条件式UPDATE208
1672在UPDATE中使用已有的
列值209
168使用REPLACE命令209
169使用DELETE命令210
1610MySQL中常用的字符串函数212
16101长度和连接函数212
16102截断和填充函数214
16103定位和位置函数215
16104子字符串函数215
16105字符串修改函数216
1611在MySQL中使用日期和时间
函数217
16111操作日期217
16112操作月份和年份219
16113操作周220
16114操作小时、分钟和秒221
16115使用MySQL格式化日期和
时间222
16116使用MySQL执行日期
算术224
16117特殊函数和转换函数225
1612小结227
1613Q&A228
1614实践练习228
第17章使用MySQL中的事务和
存储过程230
171什么是事务230
1711事务中使用的基本语法230
1712使用事务的例子231
172什么是存储过程232
173小结234
174实践练习234
第18章使用PHP和MySQL交互235
181MySQL函数和MySQLi函数235
182使用PHP连接MySQL235
1821进行连接235
1822执行查询236
1823获取错误消息237
183使用MySQL数据238
1831使用PHP插入数据238
1832使用PHP获取数据241
1833PHP中其他的MySQL函数242
184小结243
185实践练习243
第五部分基本项目
第19章管理一个简单的邮件列表245
191开发订阅机制245
1911创建subscribers表245
1912创建订阅表单246
192开发邮件发送机制250
193小结253
194Q&A253
195实践练习253
第20章创建一个在线地址簿255
201规划和创建数据库表255
202创建一个菜单257
203创建记录添加机制258
204浏览记录261
205创建记录删除机制267
206为一条记录添加子条目268
207小结273
208实践练习273
第21章创建一个简单的讨论论坛275
211设计数据库表275
212创建输入表单和脚本275
213显示主题列表279
214显示一个主题中的帖子281
215向主题添加帖子285
216小结287
217Q&A288
218实践练习288
第22章创建一个在线商店289
221规划和创建数据库表289
2211向store_categories表插入
记录290
2212向store_items表插入记录291
2213向store_item_size表中
插入记录291
2214向store_item_color表插入
记录292
222显示商品分类292
223显示商品295
224小结297
225实践练习297
第23章创建一个购物车机制298
231规划和创建数据库表298
232把购物车整合到商店299
2321把项目添加到购物车302
2322浏览购物车303
2323从购物车中删除项目304
233支付方法和结账过程306
2331创建结账页面306
2332执行结账操作306
234小结307
235实践练习307
第24章创建一个简单的日历308
241构建一个简单的显示日历308
2411检查用户输入308
2412构建HTML表单309
2413创建日历表格310
2414向日历添加事件313
242创建一个日历库319
243小结323
244Q&A324
245实践练习324
第25章限制对应用程序的访问325
251验证概览325
252Apache验证模块功能326
2521基于文件的验证327
2522基于数据库文件的访问
控制328
253使用Apache进行访问控制329
2531实现访问规则329
2532应用访问规则330
254组合Apache访问方法331
255根据HTTP方法限制访问331
256根据cookie值限制访问332
2561创建授权用户表332
2562创建登录表单和脚本333
2563测试auth cookie335
257小结336
258Q&A336
259实践练习337
第26章记录并监视Web服务器
活动338
261标准Apache访问日志338
2611确定记录什么338
2612记录对文件的访问340
2613记录对一个程序的访问341
262标准Apache错误日志341
2621把错误记录到一个文件342
2622把错误记录到一个程序342
2623syslog守护进程参数342
2624LogLevel指令342
263管理Apache日志343
2631解析主机名343
2632日志备份343
2633合并和分割日志343
2634日志分析344
2635监视错误日志344
264把自定义信息记录到一个数据库344
2641创建数据库表344
2642创建PHP代码段344
2643创建示例报表345
265小结347
266Q&A348
267实践练习348
第27章应用程序本地化349
271关于国际化和本地化349
272关于字符集349
273环境修改350
2731Apache的配置修改350
2732PHP的配置修改351
2733MySQL的配置修改351
274创建一个本地化页面结构351
275小结355
276Q&A355
277实践练习356
第28章使用XML357
281什么是XML357
282使用DOM函数在PHP中
访问XML358
283使用SimpleXML函数在PHP
中访问XML360
284小结363
285实践练习363
第六部分管理和优化
第29章Apache性能调校和
虚拟主机365
291可扩展性问题365
2911操作系统限制365
2912和性能相关的Apache设置366
292使用ApacheBench载入测试367
293预先性能调校369
2931把文件映射到内存369
2932分布负载369
2933缓存369
2934减少数据传输370
2935网络设置370
294防止滥用370
295实现虚拟主机371
2951基于IP的虚拟主机371
2952基于名字的虚拟主机372
2953大量虚拟主机373
296小结374
297Q&A374
298实践练习375
第30章建立一个安全的Web
服务器376
301安全性的需求376
302SSL协议376
3021解决保密性需求376
3022解决完整性的需求377
3023解决验证的需求378
303获取和安装SSL工具379
3031OpenSSL379
3032mod_ssl Apache模块380
304管理证书381
3041创建一个密钥对381
3042创建一个证书签发请求382
3043创建一个自签发的证书383
305SSL配置383
306小结384
307Q&A384
308实践练习384
第31章优化和调校MySQL385
311构建一个优化的平台385
312MySQL启动选项386
313优化表结构387
314优化你的查询388
315使用FLUSH命令388
316使用SHOW命令389
3161获取有关数据库和表的
信息390
3162获取表结构信息391
3163获取系统状态393
317小结393
318Q&A394
319实践练习394第32章软件升级395
321停留在循环中395
322升级MySQL396
323升级Apache396
324升级PHP397
325小结398
326实践练习398

教学资源推荐
作者: 杨颂华 熊海灵 主编 杨明 黄春伦 等编著
作者: Bruce Eckel
作者: 郑阿奇 彭作民
参考读物推荐
作者: [巴西] 马克西米利亚诺·桑托斯(Maximiliano Santos),埃尼奥·莫拉(Enio Moura) 著
作者: 华为云容器服务团队 杜军 等编著