ITPub博客

首页 > Linux操作系统 > Linux操作系统 > PHP Web 2.0开发实战

PHP Web 2.0开发实战

原创 Linux操作系统 作者:china-pub 时间:2008-10-29 18:05:05 0 删除 编辑

PHP Web 2.0开发实战


查看其他详细信息:http://www.china-pub.com/42523

【原 书 名】 Practical Web 2.0 Applications with PHP 
【原出版社】 Apress 
【作  者】(澳)Quentin Zervaas
【译  者】 苏金国;陈永志
【丛 书 名】 图灵程序设计丛书.Web开发系列 
【出 版 社】 人民邮电出版社     【书 号】 9787115187314 
【出版日期】 2008 年10月 【开 本】 16开 【页 码】 475     【版 次】1-1 
    市场价 :¥59.00       pub价:¥44.25

【内容简介】

本书通过一个完整的Web 2.0应用——带有动态图库、搜索和地图功能的博客系统详细介绍了Web开发的全过程。首先讨论了Web应用的规划与设计,然后逐章实现各个具体特性,包括网站主页、用户主页、用户注册页面、账户登录和管理页面、用户博客系统、网站搜索以及应用管理等,最后介绍部署和维护。.
本书适合中、高级的PHP程序员阅读。...

【前言】
如今,大多数关于Web开发的书和文章都仅涉及开发生命周期中的某一个或某一些方面,只是专门讨论一些特定特性,而无法让读者从整体上有全面的了解。.
在这本书中,我们将开发一个完整的Web应用。虽然开发中将会用到一些第三方库和工具,但我们将从零开始逐步完成这个应用的开发。
这本书的重点是Web 2.0,这个词已经盛行多年,通常是指具备某些特点的网站或Web应用。这些特点包括:
正确使用HTML/XHTML、CSS和其他标准;
使用Ajax(Asynchronous JavaScript. and XML,异步JavaScript和XML),响应迅速,而无需页面完全刷新;
使用RSS支持网站内容聚合;
增加wiki、博客或标签。
并非所有人都是“Web 2.0”这个流行语的拥护者,尽管如此,这个词确实标志着Web开发向前迈进了一大步。另外,尽管不是每一个人都需要在自己的网站上提供一个wiki或博客,但这里所列出的其他特点(如正确地使用标准)可以为网站的开发奠定扎实的基础,应当为所有开发人员所采纳,而不管他们希望将网站或Web应用归入哪一类。
之所以写这本书,主要是因为我希望能够与其他用户分享构建网站的一些经验。时至今日,我作为一名Web开发人员已经有10年之久(特别是最近7年更是全身心投入),对与Web相关的许多方面已经有了深入的理解,有许多经验教训希望能够提供给刚入门或者力求提高水平的开发人员。
读者对象
这本书主要是为中到高级水平的PHP程序员编写。尽管不同层次的程序员都能从中获益,不过我们会以很快的进度深入讨论,因此预先对PHP有一定了解还是很有必要的。
正如前面所说,如果你刚接触PHP,这本书肯定能让你受益非浅,因为对于你先前一知半解的技术,我们会更正式更规范地加以描述,并展示处理各种问题的不同方法。
在这本书中,我假设你已经熟悉HTML和CSS,不过由于本书中大多数代码都是用PHP和JavaScript开发的,所以并不要求你对HTML和CSS进行过于深入的了解。所有JavaScript代码都有全面细致的解释,再加上我们将使用Prototype JavaScript库,因此代码相当浅显易懂。
本书结构
这本书首先确定在所要开发的Web应用中具体实现哪些特性,随着全书内容的展开,将逐个实现这些特性。每一章都将向应用增加一组新的特性,最后一章还将介绍部署应用的有关策略。
本书到底要开发何种类型的应用(具体是一个多用户博客系统)并不特别重要。实际上,这个应用只是要作为一个工具来展示开发Web应用的全过程。每一章都设计为专门展示开发中的某一些特定方面,这些方面在任何类型的应用中都有可能出现。
第1章,应用规划与设计。这本书开篇将介绍究竟如何定义Web 2.0,还将简要讨论将要开发的应用中会实现哪些特性。另外,这一章将涵盖Web开发生命周期中的诸多方面,也就是规划和实现Web应用时应当考虑的一些问题。
第2章,建立应用框架。从这一章开始我们将着手实现这个Web应用。作为实现过程的第一步,需要正确地搭建环境(也就是说,需要安装正确的Web服务器软件),并创建网站的初始文件结构。另外,除了用PHP连接数据库外,我们还将使用Zend框架处理用户请求,并使用Smarty模板引擎(Smarty Template Engine)管理HTML代码。
第3章,用户认证、授权和管理。这一章将首次谈到如何使用数据库。我们将介绍实现用户系统时如何轻松地管理数据库数据。另外,还会介绍一个基于角色的许可系统如何工作,然后在应用中具体实现这个许可系统。
第4章,用户注册、登录和注销。作为第3章的延续,这一章将展示如何实现一个用户注册系统。由于这是本书第一次处理用户提交的数据,所以这一章还将介绍创建注册和登录表单时如何正确地处理这些数据。
第5章,Prototype和Scriptaculous简介。由于后面各章将大量用到JavaScript和Ajax,所以这一章先暂且不讨论我们的主应用,而是转而介绍目前最有用的两个JavaScript库。Prototype有助于程序员开发出能够轻松维护的跨平台JavaScript代码;另一方面,如果希望为网页增加引人入胜的视觉效果,Scriptaculous则可以简化这一过程。
第6章,为Web应用设置样式。这一章讨论的内容稍稍偏离我们的Web应用,因为这里更多的是强调用户体验而不是主应用的特性。首先将介绍如何实现各种导航特性(这也让我们对于开发定制Smarty插件有了初次的尝试),这一章结束时将为应用实现一个简洁的Web设计。
第7章,构建博客系统。这一章开始讨论博客系统的实现,将允许用户增加、编辑和删除他们的博客帖子。这一章将谈到很多重要概念,其中之一是如何正确地处理用户提交的HTML,同时保证访问者的动作不影响网站的安全。..
第8章,扩展博客管理系统。这一章很大程度上建立在第7章所实现系统的基础之上。这里将提供一个综合的Ajax示例,用于帮助用户管理其博客。我们还将在创建博客帖子的表单中集成一个开源的WYSIWYG(What You See Is What You Get,所见即所得)编辑器。
第9章,个人化用户区。本书介绍到这里,用户已经能创建新账户,并且可以管理他们自己的博客了。这一章中,我们将在应用中公开用户的博客。应用网站将为每个用户提供一个公开主页,其中显示该用户的所有博客帖子。这一章将展示如何实现一些更高级的URL机制,并介绍如何通过管理用户的个性化数据和设置来提供定制的用户体验。
第10章,实现Web 2.0特性。尽管我们定义的一些Web 2.0特性(如标准兼容性和支持Ajax)对于所有Web应用都适用,但有一些特性通常是Web 2.0特有的。在这一章中,我们将介绍其中的一些特性,包括微格式(microformats)、Web提要(RSS和Atom)以及标签。
第11章,一个动态图库。这一章中,我们将扩展博客系统的功能,允许用户为他们的各个博客帖子上传照片。这样我们不仅能了解如何正确地处理文件上传,还可以了解与图像有关的一些问题,如动态生成缩略图。
第12章,实现网站搜索。这一章基本上分为两部分:首先根据用户博客帖子创建搜索索引,然后允许网站访问者搜索这些博客帖子。建立数据索引可能是一个很复杂的主题,不过通过使用Zend框架提供的工具,这个任务就简单多了。在实现基本搜索功能的基础上,我们将进一步扩展,在应用中使用一个直观的基于Ajax的自动完成工具,这类似于Google Suggest提供的自动完成功能。
第13章,集成Google Maps。作为一名开发人员,可以使用Internet上许多免费的Web服务来改进网站。这一章中,我们将进一步扩展博客功能,允许用户使用Google Maps为他们的博客帖子增加地理位置。我们创建了Google Maps的一个高级示例应用,其中使用Ajax将Google Maps API与我们的数据库相结合,另外还将介绍如何实时地管理地图数据。
第14章,部署与维护。这是最后一章,其中将介绍开发一个完美应用的其他问题。这基本上是对第2章中所实现的部分功能的一个扩展,不过除此之外还介绍了一些新思想(如应用部署)。
必备条件
本书中要用到很多第三方应用和库。我们将讨论如何下载和安装所需的各个软件,不过总结起来将使用以下工具:
PHP 5.2.3;
Linux(及其变种)或Windows上的Apache 2.2(Windows上Apache的较早版本可能也能用);
MySQL 5或PostgreSQL 8;
Prototype 1.5.1.1;
Scriptaculous 1.7.1 beta 3;
Zend Framework 1.0.2或更新版本;
Smarty Template Engine 2.6.18;
FCKeditor 2.4.3(这是一个开源的JavaScript. WYSIWYG编辑器)。
除了这些应用和库外,本书还使用了我自己实现的一些定制PHP类。这些PHP类都已在应用源代码中提供,源代码可以按照以下说明下载。
下载源代码
本书中的所有代码清单都可以从本书网站http://www.myphpbook.com得到。读者还可以从Apress网站(http://www.apress.com)的本书主页上得到这本书的源代码 。在各章的最后还提供了完整的Web应用可供下载。
另外,我还在源代码中加入了额外的一些内容,包括一个管理区和一个博客帖子评论系统。
联系作者
如果你对这本书中的代码有任何疑问,首先应当查看本书的网站http://www.myphpbook.com。这个网站包括了一些最常见问题的解答,还提供了其他一些Web开发资源。
另外,你也可以通过电子邮箱quentin.zervaas@apress.com与我直接联系。请注意你的问题应只与本书的内容有关。你的问题和相应解释有可能会发布在本书网站的FAQ区上。...

【译者序】
如今,介绍Web开发的书可谓不少,且各有侧重,能够让读者比较深入地了解Web开发的某些方面或某些技术,这固然不错;不过从另一个角度看,这种针对性有时也反映出一种片面性,虽不至于让读者一叶障目,但很有可能使他们只见树木,不见森林。.
有一些书考虑到了这一点,因此从最基本的内容开始介绍,顾及了方方面面。从篇幅上看,这些书往往是一些“大块头”,也是初学者的最爱。不过,书的厚重并不代表内容的精深,尽管覆盖面广,但这同时也带来一个无法回避的问题,那就是在各个方面可能都浅尝辄止,不能引导读者深入研究。
有人也许会发现,尽管已经读过好几本书,还是不能开发出一个像样的Web应用。面对这样的疑惑,Quentin Zervaas通过本书可以为读者指点迷津。他将带着初学者从零开始逐步开发一个完整的PHP Web应用,在这个过程中逐步解释什么是Web 2.0,怎样开发一个Web 2.0应用以及如何实现Web 2.0涵盖的各项特性。书中还谈到如何结合PHP正确使用HTML/XHTML、CSS和其他标准,如何使用Ajax提供快速响应,如何使用RSS支持网站内容聚合,以及如何增加博客系统等。..
我们深深地感谢我们的家人和朋友。在翻译过程中,他们给予了我们莫大的关心、支持和帮助。
本书主要由苏金国、陈永志翻译,高强、范松峰、李胜权、任岗、刘鑫、蔡洪亮等检查术语,朱涛江、刘晓兵、陈波、张野、江健等提供技术问题支持,杨明、王小振、荆涛、王恒完成全书的审校。
由于时间仓促,且译者的水平有限,译文中难免会出现一些疏漏之处,敬请读者批评指正。
译者  
2008年7月...

【目录】
第1章 应用规划与设计. 1
1.1 什么是Web 2.0 2
1.2 数据库连接 2
1.3 网站模板 3
1.4 网站特性 3
1.4.1 网站主页和用户主页 3
1.4.2 用户注册 3
1.4.3 账户登录和管理 4
1.4.4 用户博客 4
1.4.5 网站搜索 4
1.4.6 应用管理 4
1.5 开发的其他方面 4
1.5.1 搜索引擎优化 5
1.5.2 PHPDoc风格的注释 5
1.5.3 安全性 6
1.5.4 应用日志 6
1.5.5 可维护性和可扩展性 6
1.6 版本控制和单元测试 7
1.7 小结 7
第2章 建立应用框架 8
2.1 Web服务器配置 8
2.1.1 操作系统 8
2.1.2 安装Apache HTTP服务器 9
2.1.3 安装MySQL 5 9
2.1.4 安装PHP 5.2.3 10
2.2 应用文件系统结构 11
2.2.1 Web根目录 11
2.2.2 数据存储目录 11
2.2.3 PHP类目录 11
2.2.4 模板目录 11
2.2.5 完整的目录结构 12
2.3 安装Zend框架 12
2.4 配置Web服务器 13
2.4.1 在Linux上创建虚拟主机 14
2.4.2 在Windows上创建虚拟主机 15
2.4.3 重启Web服务器 15
2.5 建立数据库 16
2.6 使用MVC模式 16
2.6.1 将应用逻辑与表示逻辑分离 17
2.6.2 将所有请求定向到index.php 19
2.6.3 Zend_Controller类简介 20
2.6.4 Zend_Controller如何处理请求 20
2.6.5 创建IndexController 22
2.7 定义应用设置 23
2.8 连接数据库 25
2.9 Smarty模板引擎 27
2.9.1 为什么不使用其他模板引擎 29
2.9.2 下载和安装Smarty 30
2.9.3 利用Zend_Controller自动显示视图 32
2.9.4 Smarty与网站控制器集成 34
2.10 增加日志功能 36
2.11 小结 39
第3章 用户认证、授权和管理 40
3.1 创建用户数据库表 40
3.1.1 时间戳 42
3.1.2 用户个性化信息 42
3.2 Zend_Auth简介 43
3.2.1 实例化Zend_Auth 44
3.2.2 使用Zend_Auth完成认证 46
3.3 Zend_Acl简介 48
3.4 结合Zend_Auth、Zend_Acl和Zend_Controller_Front 50
3.5 用DatabaseObject管理用户记录 53
3.5.1 DatabaseObject_User类 55
3.5.2 使用DatabaseObject_User 57
3.6 管理用户个性化信息 58
3.6.1 使用Profile_User 59
3.6.2 集成Profile_User和
DatabaseObject_User 60
3.7 小结 63
第4章 用户注册、登录和注销 64
4.1 为应用增加用户注册功能 64
4.1.1 为用户注册创建表单处理器 64
4.1.2 显示注册表单并处理注册 71
4.1.3 为用户注册表单增加CAPTCHA 78
4.1.4 增加E-mail功能 84
4.2 实现账户登录和注销 88
4.2.1 创建登录模板 88
4.2.2 增加account控制器login动作 90
4.2.3 记录成功和失败登录 93
4.2.4 用户注销账户 95
4.3 处理忘记口令的情况 95
4.3.1 重置用户口令 96
4.3.2 重置口令的函数 98
4.4 实现账户管理 102
4.4.1 创建账户主页 103
4.4.2 更新网站导航 104
4.4.3 允许用户更新信息 106
4.5 小结 107
第5章 Prototype与Scriptaculous简介 108
5.1 下载和安装Prototype 108
5.2 选择文档对象模型中的对象 109
5.2.1 $()函数 109
5.2.2 getElementsByClassName()函数 110
5.2.3 $$()函数 113
5.2.4 getElementsBySelector()函数 114
5.3 Prototype的Hash对象 114
5.4 其他元素扩展 115
5.4.1 显示和隐藏元素 115
5.4.2 获取元素尺寸 115
5.4.3 管理元素类 115
5.4.4 用Prototype管理字符串 117
5.5 Prototype中的Ajax操作 118
5.5.1 Ajax请求选项 118
5.5.2 Ajax回调函数 119
5.5.3 JSON 122
5.5.4 一个Ajax.Request例子 123
5.6 Prototype中的事件处理 127
5.6.1 观察事件 128
5.6.2 查找事件出现在哪个元素上 128
5.6.3 取消事件 129
5.7 利用Prototype创建JavaScript类 129
5.7.1 创建类 130
5.7.2 为函数调用绑定对象 130
5.8 从Prototype转向Scriptaculous 133
5.8.1 预置控件 133
5.8.2 拖放 134
5.8.3 视觉效果 134
5.8.4 DOM元素构建器 135
5.8.5 JavaScript单元测试 135
5.9 下载和安装Scriptaculous 135
5.10 在一个实用例子中结合使用Prototype、Scriptaculous、Ajax和PHP 136
5.10.1 创建主HTML页面:index.php 137
5.10.2 为应用设置样式:styles.css 138
5.10.3 创建和填充数据库:schema.sql 139
5.10.4 服务器端管理列表项:items.php 140
5.10.5 在服务器端处理Ajax请求:processor.php 141
5.10.6 创建客户端应用逻辑:scripts.js 143
5.11 小结 148
第6章 为Web应用设置样式 149
6.1 增加页面标题和浏览路径 149
6.1.1 Breadcrumbs类 150
6.1.2 生成URL 152
6.1.3 为各个控制器动作设置标题和浏览路径 155
6.1.4 创建一个Smarty插件输出浏览路径 157
6.1.5 显示页面标题 159
6.2 在应用中集成设计 160
6.2.1 创建静态HTML 160
6.2.2 将HTML标记移入Smarty模板 163
6.3 构建CSS 167
6.3.1 指定媒体类型和加载CSS文件 168
6.3.2 创建应用CSS 169
6.3.3 创建只打印样式表 173
6.3.4 完整的应用样式表 175
6.4 为应用Web表单设置样式 178
6.5 加载Prototype和Scriptaculous 181
6.6 实现客户端表单验证 181
6.6.1 为CustomControllerAction类增加JSON支持.. 182
6.6.2 修改表单处理器 183
6.6.3 修改注册控制器动作 183
6.6.4 创建JavaScript表单验证器 185
6.6.5 加载UserRegistrationForm类 188
6.7 小结 189
第7章 构建博客系统 190
7.1 创建数据库表 190
7.2 建立DatabaseObject和Profile类 192
7.2.1 创建DatabaseObject_BlogPost类 192
7.2.2 创建Profile_BlogPost类 193
7.3 创建控制器管理博客帖子 194
7.3.1 扩展应用权限 194
7.3.2 BlogmanagerController动作 195
7.3.3 链接博客管理系统 197
7.4 创建和编辑博客帖子 198
7.4.1 创建博客帖子提交表单模板 199
7.4.2 在editAction()中实例化FormProcessor_BlogPost 201
7.4.3 实现FormProcessor_BlogPost类 203
7.4.4 为博客帖子生成一个永久链接 209
7.4.5 过滤提交的HTML 212
7.4.6 创建一个新博客帖子 215
7.5 预览博客帖子 216
7.5.1 创建预览动作 216
7.5.2 实现预览模板 216
7.5.3 请求对用户动作的确认 219
7.6 更新博客帖子的状态 221
7.6.1 完成setstatusAction() 221
7.6.2 通知用户 223
7.7 小结 228
第8章 扩展博客管理系统 229
8.1 在博客管理系统索引页面上列出帖子 229
8.1.1 从数据库获取博客帖子 230
8.1.2 将最新帖子和各月概要赋给模板 237
8.1.3 在模板中显示最新帖子 238
8.1.4 显示各月概要 241
8.2 为博客各月概要增加Ajax功能 245
8.2.1 创建Ajax请求输出 246
8.2.2 BlogMonthlySummary JavaScript类 247
8.2.3 安装BlogMonthlySummary类 249
8.2.4 通知用户内容已更新 249
8.3 集成WYSIWYG编辑器 252
8.3.1 下载并安装FCKeditor 254
8.3.2 配置FCKeditor 254
8.3.3 在博客编辑页面中加载FCKeditor 255
8.4 小结 257
第9章 个人化用户区 258
9.1 控制用户设置 258
9.1.1 为用户提供定制设置 259
9.1.2 处理对用户设置的修改 260
9.1.3 创建默认用户设置 262
9.2 UserController类 262
9.2.1 将请求路由到UserController 263
9.2.2 处理对UserController的请求 268
9.3 显示用户的博客 272
9.3.1 显示博客索引页面 272
9.3.2 显示单个博客帖子 277
9.3.3 生成博客归档链接 281
9.3.4 显示各月归档 283
9.4 填充应用主页 284
9.4.1 加载最新公开帖子 284
9.4.2 实现应用主页 285
9.5 小结 290
第10章 实现Web 2.0特性 292
10.1 标签 292
10.1.1 实现标签系统 293
10.1.2 管理博客帖子标签 297
10.1.3 在用户博客上显示用户的标签 300
10.1.4 显示标签空间 303
10.1.5 在各帖子上显示标签 306
10.2 Web提要 306
10.2.1 Web提要的数据格式 306
10.2.2 用Zend_Feed创建一个Atom提要 307
10.2.3 为UserController增加提要 307
10.2.4 链接到提要 310
10.2.5 其他提要选项 312
10.3 微格式 312
10.3.1 使用微格式的例子 312
10.3.2 为什么使用微格式 314
10.3.3 对标签标记微格式 315
10.4 允许用户创建公开个性化数据 316
10.4.1 允许用户创建公开个性化数据 317
10.4.2 显示用户的个性化数据 319
10.5 小结 322
第11章 一个动态图库 323
11.1 存储上传文件 323
11.1.1 为图像数据创建数据库表 324
11.1.2 用DatabaseObject控制上传图像 325
11.2 上传文件 325
11.2.1 设置表单编码 326
11.2.2 增加表单 326
11.2.3 指定文件输入类型 328
11.2.4 设置最大文件大小 329
11.2.5 处理上传文件 329
11.3 发送图像 337
11.4 调整图像大小 339
11.4.1 创建缩略图 340
11.4.2 将缩略图生成工具链接到图像动作处理程序 344
11.5 管理博客帖子图像 348
11.5.1 自动加载博客帖子图像 348
11.5.2 在帖子预览页面上显示图像 350
11.5.3 删除博客帖子图像 352
11.5.4 使用Scriptaculous和Ajax删除图像 354
11.5.5 删除帖子时删除图像 359
11.5.6 重排博客帖子图像的顺序 360
11.6 在用户博客上显示图像 365
11.6.1 扩展GetPosts()函数 365
11.6.2 在博客索引页面上显示缩略图 366
11.6.3 在博客详细信息页面上显示图像 367
11.6.4 用Lightbox显示更大的图像 369
11.7 小结 371
第12章 实现网站搜索 372
12.1 Zend_Search_Lucene简介 372
12.1.1 与MySQL全文索引比较 372
12.1.2 Zend_Search_Lucene字段类型 373
12.1.3 字段命名 374
12.2 建立应用内容的索引 374
12.2.1 对多种类型的数据建立索引 375
12.2.2 创建新Zend_Search_Lucene_Document 375
12.2.3 获取索引位置 377
12.2.4 构建完整索引 377
12.2.5 对一个博客帖子建立索引和解除索引 379
12.2.6 触发搜索索引更新 382
12.3 创建搜索工具 384
12.3.1 增加搜索表单 384
12.3.2 处理搜索请求 386
12.3.3 查询搜索索引 386
12.3.4 显示搜索结果 390
12.3.5 搜索类型 392
12.4 为搜索工具增加自动完成功能 393
12.4.1 提供搜索建议 393
12.4.2 创建一个动作处理程序返回搜索结果 394
12.4.3 获取搜索建议 395
12.4.4 加载SearchSuggestor类 397
12.4.5 显示搜索建议 398
12.4.6 为结果增加鼠标导航 400
12.4.7 为结果增加键盘导航 402
12.5 小结 407
第13章 集成Google Maps 408
13.1 Google Maps特性 408
13.1.1 地理编码 408
13.1.2 显示地图 409
13.1.3 控制地图 411
13.2 集成规划 411
13.2.1 Google Maps的局限性 412
13.2.2 浏览器兼容性 412
13.2.3 文档和资源 412
13.2.4 创建Google Maps API键 413
13.3 增加位置存储功能 413
13.3.1 创建数据库表 413
13.3.2 创建DatabaseObject_BlogPostLocation类 413
13.3.3 修改博客帖子来加载位置 415
13.4 创建第一个地图 416
13.4.1 创建一个新博客管理系统控制器动作 417
13.4.2 显示第一个Google地图 419
13.5 在地图上管理位置 424
13.5.1 处理位置管理Ajax请求 424
13.5.2 创建地址查找表单 429
13.5.3 扩展BlogLocationManager JavaScript类 430
13.5.4 使用BlogLocationManager 442
13.6 在用户公开博客上显示地图 443
13.6.1 使用geo微格式输出位置 444
13.6.2 创建BlogLocations类 446
13.6.3 更新博客帖子显示模板 448
13.7 小结 450
第14章 部署与维护 452
14.1 应用日志 452
14.1.1 通过E-mail向管理员通知重大错误 452
14.1.2 使用应用日志 456
14.2 网站错误处理 456
14.2.1 错误处理的目标 458
14.2.2 处理分派前错误 458
14.2.3 运行时错误 462
14.3 网站管理 466
14.3.1 管理区特性 466
14.3.2 实现管理 467
14.4 应用部署 468
14.4.1 不同服务器有不同配置 469
14.4.2 用rsync部署应用文件 472
14.5 备份和恢复 473
14.5.1 导出数据库 473
14.5.2 导入数据库 474
14.6 小结... 474

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16566727/viewspace-481818/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-29

  • 博文量
    922
  • 访问量
    1523043