Ⅰ 请教大家个问题,我要学习php,可是不知从哪下手,用什么软件哪里有好的教程请不吝赐教,在此,多谢~
需要你准备三件事
1.配置PHP开发环境 下载APM或者WAMP
这个是集成环境 不用手动配置 比较适合你
2.使用PHP开发软件 建议你使用 phpdesigner
3.准备书籍 不要要什么入门或者教程 只需要PHP手册
把这个手册边看边操作 就行了
额外的 可以+一个PHP开发群 有助于帮你解答问题
记住 只要基础打的好 往深一步发展才能更加顺利
Ⅱ php手册下载下来,什么也没有是怎么回事
关掉手册,再重新打开手册的时候电脑有个提示,你把提示里面总是提示要打开此类文件的选项的勾去掉,再打开就可以看到内容了。
Ⅲ php手册问题
重新下载呗。
Ⅳ PHP手册的在线浏览地址
英文版:
请看扩展阅读
中文版:
因翻译进度缓慢,暂时无法从PHP官方网站上访问。
目前网络上可见的最新版本由PHP手册译者之一Haohappy编译,每月编译一次。
Ⅳ php手册最新的是哪个
6.0
Ⅵ 关于php学习,哪个网站资料比较合适
做PHP相关工作已经有7年了,如果是初学者,推荐有两个PHP100、PHP CHINA.
PHP100
-------------
PHP100中文网是国内第一家以PHP资源分享为主的专业网站,也提供了PHP中文交流社区。面向PHP学习研究者提供:最新PHP资讯、原创内容、开源代码和PHP视频教程等相关内容。
PHP100中的100个视频,虽然看着有点多,但是如果想入门的话,10几个视频就可以了,这里面不仅有入门的教程,还有中阶、高阶的教程,完全可以把你从一个什么都不懂的PHP菜鸟,变成PHP的使用高手。
介绍php开发环境,让您快速搭建您的工作环境,测试环境,开始PHP的编程之旅;php开发工具
,工欲善其事必先利其器,IDE,数据库管理,版本控制等等,称心..,带你进行PHP语言开发,手把手在视频教程中教你如何开发一个留言板功能,学会这些,你就可以入门了。
当然如果遇到问题怎么办,PHP100还有一个技术论坛,分类也很全,不仅包含PHP技术相关的内容,还包含PHP相关的好多技术语言,例如linux、apache、mysql、javascript、ajax等等。
PHP CHINA
----------------
之所以推荐这个,是因为,N年前我自己就是在这里进行过培训的学员,也是深受益处,还有个很出名的开源论坛也是出自这里的,Discuz! ,这里不仅有学习相关的资料,也可以报名进行培训,还可以学习Discuz!相关的源码。
当然这里也有一个属于自己的论坛,里面有一部分人都是初学者,都是在这里做培训的学员,所以会看到很多初级的问题,也可以提一些基础问题,很多人会帮你解答。
当然别的地方也会有很多资料很全的网站,以上两个只是个人推荐,希望对你有帮助
Ⅶ PHP学习手册的目 录
第一篇 基础篇
第1章 了解PHP 18
1.1 什么是PHP 19
1.2 选择PHP的理由 19
1.3 如何学好编程 22
1.4 准备PHP的开发条件 24
1.4.1 下载PHP及相关软件 24
1.4.2 代码编辑工具 24
1.4.3 下载PHP用户手册 26
1.5 本章小结 26
第2章 准备开发PHP的条件 27
2.1 AppServ—Windows版PHP集成化安装包 28
2.1.1 用AppServ搭建PHP开发环境 28
2.1.2 测试AppServ是否安装成功 30
2.2 XAMPP—Linux版PHP集成化安装包 31
2.2.1 用XAMPP搭建PHP开发环境 32
2.2.2 在Linux操作系统下启动、停止XAMPP 33
2.2.3 设置Linux版XAMPP中MySQL数据库root用户的密码 33
2.2.4 在Linux操作系统下编写第一个PHP程序 33
2.3 PHP开发环境的关键配置信息 34
2.3.1 Apache服务器的基本配置 34
2.3.2 PHP.INI文件的基本配置 35
2.4 解决PHP的常见配置问题 36
2.4.1 解决Apache服务器端口冲突 36
2.4.2 更改Apache服务器
默认存储的文件路径 36
2.4.3 在PHP.INI文件中更改上传文件的大小 37
2.4.4 增加PHP扩展模块 37
2.4.5 检测PHP是否支持MySQL数据库 38
2.5 Dreamweaver开发工具 38
2.5.1 情景应用一——Dreamweaver中编码格式的选择 38
2.5.2 情景应用二——Dreamweaver创建表格 39
2.5.3 情景应用三——Dreamweaver创建表单 43
2.5.4 情景应用四——Dreamweaver创建站点 45
2.5.5 情景应用五——Dreamweaver创建第一个PHP程序 46
2.6 本章小结 47
第3章 了解Web页面的设计 48
3.1 XHTML基础 49
3.1.1 XHTML语言的语法 49
3.1.2 XHTML文件的结构 51
3.1.3 编辑文字版面 53
3.1.4 插入图像与链接 55
3.1.5 编写XHTML表格 57
3.1.6 设计XHTML表单 58
3.1.7 情景应用一——编写用户注册信息页 61
3.1.8 情景应用二:文件域上传文件 62
3.2 CSS样式应用 63
3.2.1 将CSS样式嵌入到HTML中 63
3.2.2 CSS选择符 65
3.2.3 常见的CSS样式属性 67
3.2.4 情景应用——打造经典的导航栏 72
3.3 设计页面布局 74
3.3.1 <div>和<span>标记 74
3.3.2 区块模型 74
3.3.3 区块浮动 75
3.3.4 情景应用——设置一行两列浮动布局 77
3.4 实战练习 78
3.4.1 CSS+DIV设计网站首页 78
3.4.2 DIV标签设计论坛后台管理页面 79
3.5 本章小结 81
第4章 PHP开发基础 82
4.1 PHP的工作原理 83
4.2 学习运用代码注释 83
4.2.1 使用PHP注释 84
4.2.2 使用HTML注释 84
4.2.3 有效使用注释 85
4.3 PHP的常量应用 85
4.3.1 声明和使用常量 85
4.3.2 预定义常量 87
4.4 PHP的变量应用 88
4.4.1 理解变量 88
4.4.2 声明变量 88
4.4.3 变量作用域 89
4.4.4 可变变量 91
4.5 PHP的数据类型 92
4.5.1 标量数据类型 92
4.5.2 复合数据类型 96
4.5.3 特殊数据类型 97
4.5.4 转换数据类型 98
4.5.5 检测数据类型 100
4.6 PHP的运算符 101
4.6.1 算术运算符 101
4.6.2 字符串运算符 102
4.6.3 赋值运算符 102
4.6.4 位运算符 103
4.6.5 递增或递减运算符 103
4.6.6 逻辑运算符 104
4.6.7 比较运算符 105
4.6.8 三元运算符 105
4.6.9 运算符的使用规则 106
4.7 PHP的自定义函数 107
4.7.1 定义和调用函数 108
4.7.2 在函数间传递参数 109
4.7.3 函数的返回值 110
4.8 实战练习 111
4.8.1 网站中最新动态模块的中文字符串截取 111
4.8.2 论坛发布内容模块中对内容的格式化输出 112
4.9 本章小结 113
第5章 PHP流程控制语句 115
5.1 程序三种控制结构 116
5.1.1 顺序结构 116
5.1.2 选择(分支)结构 116
5.1.3 循环结构 116
5.2 条件控制语句 117
5.2.1 if条件控制语句 117
5.2.2 switch多分支语句 119
5.2.3 情景应用一——if语句判断美女征婚条件 121
5.2.4 情景应用二——switch网页框架 122
5.3 循环控制语句 123
5.3.1 while循环语句 124
5.3.2 do...while循环语句 124
5.3.3 for循环语句 125
5.3.4 foreach循环语句 127
5.3.5 情景应用一——while语句循环读取数据库中数据 128
5.3.6 情景应用二——for循环语句开发一个乘法口诀表 129
5.4 跳转语句 130
5.4.1 break跳转语句 130
5.4.2 continue跳转语句 131
5.4.3 return跳转语句 132
5.5 包含语句 133
5.5.1 include()语句 133
5.5.2 require()语句 134
5.5.3 include_once()语句 135
5.5.4 require_once()语句 135
5.5.5 include()语句和require()语句的区别 136
5.5.6 include_once()语句和require_once()语句的区别 138
5.6 实战练习 138
5.6.1 删除数据库中指定的数据表 138
5.6.2 for循环语句实现多图片上传 139
5.7 本章小结 140
第6章 字符串操作 141
6.1 初识字符串 142
6.2 转义、还原字符串 142
6.3 截取字符串 143
6.4 分割、合成字符串 145
6.5 替换字符串 146
6.5.1 str_ireplace()函数 146
6.5.2 substr_replace()函数 148
6.6 检索字符串 148
6.6.1 strstr()函数 148
6.6.2 substr_count()函数 149
6.7 去掉字符串首尾空格和特殊字符 150
6.7.1 ltrim()函数 150
6.7.2 rtrim()函数 151
6.7.3 trim()函数 152
6.8 字符串与HTML转换 152
6.9 情景应用 154
6.9.1 超长文本的分页输出 154
6.9.2 查询关键字描红 155
6.9.3 购物车中数据的读取 156
6.10 实战练习 157
6.10.1 PHP 5新型字符串输出XML数据信息 157
6.10.2 图像验证码的相关操作 158
6.11 本章小结 159
第7章 正则表达式 160
7.1 什么是正则表达式 161
7.2 正则表达式的语法规则 162
7.2.1 行定位符(^和$) 162
7.2.2 单词定界符(、B) 162
7.2.3 字符类([ ]) 163
7.2.4 选择字符(|) 163
7.2.5 连字符(-) 163
7.2.6 排除字符([^]) 164
7.2.7 限定符(? * + {n,m}) 164
7.2.8 点号字符(.) 164
7.2.9 转义字符() 165
7.2.10 反斜线() 165
7.2.11 括号字符(()) 166
7.2.12 情景应用一——整合实用的正则表达式 166
7.2.13 情景应用二——调用正则表达式验证中文 168
7.3 PCRE兼容正则表达式函数 169
7.3.1 字符串的匹配与查找 169
7.3.2 情景应用一——应用正则表达式匹配电话号码格式 170
7.3.3 字符串的替换 172
7.3.4 情景应用二——应用正则表达式实现UBB使用帮助 173
7.3.5 字符串的分割 173
7.4 实战练习 174
7.4.1 正则表达式验证用户
7.4.1 注册信息的合理性 174
7.4.2 正则表达式验证提交的
7.4.1 购买数量是否是正整数 176
7.5 本章小结 177
第8章 初探数组 178
8.1 数组概述 179
8.2 数组类型 179
8.3 声明数组 180
8.3.1 用户创建数组 180
8.3.2 函数创建数组 181
8.3.3 创建二维数组 181
8.4 遍历、输出数组 182
8.4.1 遍历数组 183
8.4.2 输出数组元素 184
8.5 PHP的数组函数 185
8.5.1 统计数组元素个数 185
8.5.2 向数组中添加元素 185
8.5.3 获取数组中最后一个元素 186
8.5.4 删除数组中重复元素 186
8.5.5 获取数组中指定元素的键名 186
8.5.6 字符串与数组的转换 187
8.5.7 情景应用——读取网上调查中的数据 188
8.6 PHP的全局数组 189
8.6.1 $_SERVER[ ]全局数组 189
8.6.2 $_GET[ ]和$_POST[ ]全局数组 190
8.6.3 $_COOKIE全局数组 190
8.6.4 $_ENV[ ]全局数组 191
8.6.5 $_REQUEST[ ]全局数组 191
8.6.6 $_SESSION[ ]全局数组 191
8.6.7 $_FILES[ ]全局数组 191
8.6.8 情景应用——$_FILES[ ]全局数组在文件上传中的应用 191
8.7 实战练习 193
8.7.1 生成在线考试题 193
8.7.2 通过获取客户端IP地址限制投票次数 193
8.8 本章小结 195
第9章 日期与时间 196
9.1 PHP的时间观念 197
9.1.1 在PHP.INI文件中设置时区 197
9.1.2 通过date_default_timezone_set函数设置时区 197
9.2 UNIX时间戳 198
9.2.1 获取任意日期、时间的时间戳 198
9.2.2 获取当前时间戳 199
9.2.3 日期、时间转换为UNIX时间戳 199
9.3 日期和时间处理 201
9.3.1 格式化日期和时间 201
9.3.2 获取日期和时间信息 202
9.3.3 检验日期和时间的有效性 203
9.4 情景应用 204
9.4.1 获取系统当前时间和时间戳 204
9.4.2 比较两个时间的大小 204
9.4.3 倒计时 205
9.5 实战练习 205
9.5.1 计算程序的运行时间 205
9.5.2 网页闹钟 206
9.6 本章小结 207
第二篇 核心篇
第10章 文件和目录处理技术 210
10.1 基本的文件处理技术 211
10.1.1 打开一个文件 211
10.1.2 读取文件内容 214
10.1.3 向文件中写入数据 218
10.1.4 关闭文件指针 220
10.2 目录操作技术 220
10.2.1 打开指定目录 220
10.2.2 读取目录结构 221
10.2.3 关闭目录指针 222
10.3 文件的上传技术 223
10.3.1 开启文件上传功能 223
10.3.2 全局变量$_FILES应用 224
10.3.3 将上传文件移动到指定目录 225
10.3.4 文件下载技术 226
10.4 情景应用 227
10.4.1 通过文本文件统计网站访问量 227
10.4.2 规范化的文件上传 229
10.5 实战练习 231
10.5.1 从文本文件中读取注册服务条款 231
10.5.2 规范化的多文件上传 232
10.6 本章小结 233
第11章 图形图像处理技术 234
11.1 了解GD2函数库 235
11.2 设置GD2函数库 235
11.3 学习常用的图像处理技术 235
11.3.1 创建画布 236
11.3.2 颜色处理 237
11.3.3 绘制文字 237
11.3.4 输出图像 239
11.3.5 销毁图像 240
11.3.6 情景应用一——在照片上书写文字 240
11.3.7 情景应用二——GD2函数生成图像验证码 241
11.4 运用Jpgraph类库绘制图像 242
11.4.1 Jpgraph类库简介 242
11.4.2 Jpgraph的安装 242
11.4.3 情景应用一——柱状图展示2010年第一季度编程词典销量 243
11.4.4 情景应用二——折线图分析2010年公司销售额 245
11.4.5 情景应用三——多饼形图分析2010年图书销量 246
11.5 实战练习 248
11.5.1 GD2函数生成带有干扰线的图像验证码 248
11.5.2 Jpgraph创建折线图分析图书销售走势 249
11.5.3 Jpgraph创建3D饼形图展示部门业绩比较 250
11.6 本章小结 251
第12章 Cookie和会话控制 252
12.1 会话的操作 253
12.1.1 创建会话 253
12.1.2 配置PHP的会话 255
12.2 会话的高级应用 259
12.2.1 SESSION临时文件 259
12.2.2 SESSION缓存 259
12.2.3 SESSION数据库存储 261
12.3 Cookie的操作 263
12.3.1 设置Cookie 264
12.3.2 访问Cookie 265
12.3.3 删除Cookie 266
12.4 情景应用 267
12.4.1 登录验证 267
12.4.2 Cookie自动登录 269
12.5 实战练习 270
12.5.1 防止页面刷新 270
12.5.2 控制客户端Cookie 271
12.6 本章小结 272
第13章 面向对象 273
13.1 一切皆是对象 274
13.1.1 什么是类 274
13.1.2 对象的由来 274
13.1.3 面向对象的特点 275
13.2 类的声明 275
13.2.1 类的定义 275
13.2.2 成员属性 276
13.2.3 成员方法 277
13.3 类的实例化 277
13.3.1 创建对象 278
13.3.2 访问类中成员 278
13.3.3 特殊的访问方法——“$this”和“::” 279
13.3.4 构造方法和析构方法 280
13.4 面向对象的封装特性 281
13.4.1 public(公共成员) 282
13.4.2 private(私有成员) 282
13.4.3 protected(保护成员) 283
13.5 面向对象的继承特性 283
13.5.1 类的继承——extends关键字 283
13.5.2 类的继承——parent::关键字 284
13.5.3 覆盖父类方法 285
13.6 抽象类和接口 286
13.6.1 抽象类 286
13.6.2 接口 287
13.7 面向对象的多态性 289
13.7.1 通过继承实现多态 289
13.7.2 通过接口实现多态 290
13.8 面向对象的关键字 290
13.8.1 final关键字 291
13.8.2 static关键字——声明静态类成员 291
13.8.3 clone关键字——克隆对象 292
13.8.4 对象比较 293
13.8.5 instanceof关键字——对象类型检测 293
13.9 面向对象的魔术方法 293
13.9.1 _set()和_get()方法 294
13.9.2 _isset()和_unset()方法 294
13.9.3 _call()方法 294
12.9.4 _toString()方法 295
13.9.5 _autoload()方法 295
13.9.6 情景应用一——封装一个数据库连接类 296
13.9.7 情景应用二——封装一个数据库操作类 297
13.10 实战练习 298
13.10.1 分页类 299
13.10.2 万用表格 300
13.11 本章小结 301
第14章 MySQL数据库设计 302
14.1 MySQL概述 303
14.1.1 MySQL的特点 303
14.1.2 SQL和MySQL 303
14.2 MySQL服务器的启动和关闭 304
14.2.1 启动MySQL服务器 304
14.2.2 连接MySQL服务器 305
14.2.3 关闭MySQL服务器 305
14.3 操作MySQL数据库 306
14.3.1 创建新数据库 306
14.3.2 选择指定数据库 306
14.3.3 删除指定数据库 306
14.4 操作MySQL数据表 307
14.4.1 创建一个表 307
14.4.2 查看数据表结构 308
14.4.3 修改数据表结构 309
14.4.4 重命名数据表 310
14.4.5 删除指定数据表 310
14.5 操作MySQL数据 311
14.5.1 向数据表中添加数据(INSERT) 311
14.5.2 更新数据表中数据(UPDATE) 312
14.5.3 删除数据表中数据(DELETE) 312
14.5.4 查询数据表中数据 313
14.5.5 情景应用一——数据排序 316
14.5.6 情景应用二——limit控制输出数据的开始位置和记录数 316
14.6 MySQL数据类型 316
14.6.1 数字类型 317
14.6.2 字符串类型 317
14.6.3 日期和时间数据类型 319
14.7 用phpMyAdmin管理MySQL数据库 319
14.7.1 管理数据库 319
14.7.2 管理数据表 320
14.7.3 管理数据记录 322
14.7.4 导入/导出数据 324
14.8 实战练习 325
14.8.1 批量添加记录(LOAD DATA和MYSQLIMPORT) 325
14.8.2 在phpMyAdmin中重置MySQL服务器登录密码 326
14.9 本章小结 326
第15章 数据库编程技术 327
15.1 PHP操作MySQL数据库的步骤 328
15.2 PHP操作MySQL数据库的方法 329
15.2.1 mysql_connect()函数连接MySQL服务器 329
15.2.2 mysql_select_db()函数选择MySQL数据库 330
15.2.3 mysql_query()函数执行SQL语句 330
15.2.4 mysql_fetch_array()函数将结果集返回到数组中 331
15.2.5 mysql_fetch_row()函数从结果集中获取一行作为枚举数组 333
15.2.6 mysql_num_rows()函数获取查询结果集中的记录数 333
15.3 管理MySQL数据库中的数据 334
15.3.1 向数据库中添加数据 334
15.3.2 编辑数据库数据 335
15.3.3 从数据库中删除数据 336
15.3.4 批量数据操作 336
15.4 情景应用 337
15.4.1 通用查询 337
15.4.2 分组统计 338
15.4.3 对查询结果分页显示 339
15.4.4 站内搜索 340
15.5 实战练习 341
15.5.1 对查询结果进行跳转分页显示 341
15.5.2 高级查询 341
15.6 本章小结 342
第三篇 高级篇
第16章 PDO数据库抽象层 346
16.1 什么是PDO 347
16.1.1 PDO概述 347
16.1.2 PDO特点 347
16.1.3 安装PDO 347
16.2 PDO连接数据库 348
16.2.1 PDO构造函数 348
16.2.2 情景应用一——连接MySQL数据库 348
16.2.3 情景应用二——连接MS SQL Server数据库 349
16.2.4 情景应用三——连接Oracle数据库 350
16.3 PDO中执行SQL语句 350
16.3.1 exec()方法 351
16.3.2 query()方法 351
16.3.3 预处理语句——prepare()和execute() 352
16.3.4 情景应用一——通过PDO向数据库中添加数据 353
16.3.5 情景应用二——通过PDO更新数据库中数据 354
16.4 PDO中获取结果集 355
16.4.1 fetch()方法 355
16.4.2 fetchAll()方法 357
16.4.3 fetchColumn()方法 358
16.5 PDO中捕获SQL语句中的错误 359
16.5.1 使用默认模式——PDO::ERRMODE_SILENT 359
16.5.2 使用警告模式——PDO::ERRMODE_WARNING 360
16.5.3 使用异常模式——PDO::ERRMODE_EXCEPTION 361
16.6 PDO中错误处理 362
16.6.1 errorCode()方法 362
16.6.2 errorInfo()方法 363
16.7 PDO中事务处理 364
16.8 PDO中存储过程 366
16.9 实战练习 367
16.9.1 PDO读取MS SQL Server数据库中数据 367
16.9.2 PDO读取Oracle数据库中数据 368
16.10 本章小结 369
第17章 ADODB数据库抽象层 370
17.1 ADODB概述 371
17.1.1 ADODB的优点与缺点 371
17.1.2 ADODB的安装与操作流程 371
17.2 连接数据库系统和数据库 372
17.2.1 连接数据库系统——ADONewConnection()函数 372
17.2.2 数据库持久化连接——PConnect()函数 372
17.2.3 数据库非持久化连接——Connect()函数 372
17.2.4 情景应用一——ADODB连接MySQL数据库 373
17.2.5 情景应用二——ADODB连接Access数据库 374
17.2.6 情景应用三——ADODB连接MS SQL Server数据库 374
17.2.7 情景应用四——ADODB连接Oracle数据库 375
17.3 通过公共变量控制数据的存取方式 376
17.4 ADODB执行SQL语句 377
17.4.1 执行SQL语句——execute()函数 377
17.4.2 控制SELECT查询语句的起始位置——SelectLimit()函数 378
17.4.3 添加、更新数据——GetInsertSQL()、GetUpdateSQL()函数 379
17.4.4 操作SQL语句的其他方法 380
17.5 ADODB控制结果集 380
17.5.1 控制指针的方法 381
17.5.2 控制结果集内容的方法 382
17.5.3 日期格式和数据类型的转换 383
17.6 ADODB中的分页 384
17.6.1 ADODB分页函数 384
17.6.2 一个小巧的分页函数——ADODB_Pager()函数 385
17.7 ADODB中的错误处理 386
17.7.1 ADODB中的错误处理函数 386
17.7.2 ADODB中自定义的错误处理机制 387
17.7.3 情景应用——通过日志文件存储错误信息 388
17.8 ADODB中的事务处理 389
17.9 实战练习 390
17.9.1 封装ADODB连接数据库类 390
17.9.2 封装ADODB操作数据库类 391
17.9.3 封装ADODB分页类 392
17.9.4 通过事务处理机制保证数据转换的顺利完成 393
17.10 本章小结 395
第18章 PHP的字符编码 396
18.1 了解网页字符编码 397
18.1.1 ASCII 字符集 397
18.1.2 ISO 8859 字符集 397
18.1.3 GB2312与GBK编码 398
18.1.4 Unicode字符集 398
18.1.5 UTF-8编码 398
18.2 PHP网页的字符编码 399
18.2.1 设置编码格式 399
18.2.2 转换编码格式 400
18.2.3 检测字符串的编码 402
18.3 PHP开发中的乱码问题 403
18.3.1 解决页面中的乱码问题 403
18.3.2 数据库中的字符集编码问题 405
18.3.3 避免截取中文字符串时出现乱码 406
18.4 PHP区域化设置 407
18.4.1 PHP网页的区域化 407
18.4.2 使用setlocale()函数设置区域化 408
18.5 实战练习 409
18.5.1 避免截取超长文本时出现乱码 409
18.5.2 了解PHP编码规则 410
18.5.3 了解PHP编码风格 410
18.6 本章小结 412
第19章 程序调试与错误处理 413
19.1 基本调试策略 414
19.2 常见错误分析 414
19.2.1 语法错误 414
19.2.2 定义错误 417
19.2.3 逻辑错误 418
19.2.4 运行错误 419
19.2.5 环境错误 421
19.3 PHP.INI中的错误处理机制 422
19.3.1 控制错误显示及显示方式 423
19.3.2 控制错误的级别 423
19.4 程序调试方法 424
19.4.1 应用DIE语句调试 424
19.4.2 应用mysql_error()语句输出错误信息 425
19.4.3 应用try{}catch{}M语句抛出并捕获异常 425
19.5 错误处理技巧 427
19.5.1 隐藏错误 427
19.5.2 自定义错误页面 427
19.5.3 延长服务器执行时间——处理超时错误 428
19.6 情景应用 429
19.6.1 如何分析、解决PHP与MySQL连接错误 429
19.6.2 解决数据库乱码问题 431
19.7 实战练习 432
19.7.1 封装属于自己的异常处理类 432
19.7.2 使用错误处理器记录日志 433
19.8 本章小结 434
第20章 Smarty模板技术 435
20.1 走进Smarty模板引擎 436
20.1.1 Smarty模板引擎下载 437
20.1.2 Smarty模板引擎安装 437
20.1.3 Smarty模板引擎配置 437
20.1.4 情景应用一——走进Smarty模板引擎 439
20.1.5 情景应用二——封装Smarty模板的配置方法 440
20.2 Smarty模板设计——静态页处理 442
20.2.1 基本语法(注释、函数和属性) 442
20.2.2 Smarty模板设计变量 443
20.2.3 变量调节器 444
20.2.4 情景应用一——Smarty模板中日期、时间的格式化输出 445
20.2.5 情景应用二——通过组合修改器分隔多个变量调节器 445
20.2.6 内建函数(动态文件、模板文件的包含和流程控制语句) 446
20.2.7 情景应用三——Smarty模板创建网页框架 448
20.2.8 情景应用四——section语句循环输出数据库中的数据 450
20.2.9 自定义函数 451
20.2.10 配置文件 454
20.3 Smarty程序设计——动态文件操作 455
20.3.1 SMARTY_PATH常量 455
20.3.2 Smarty程序设计变量 455
20.3.3 Smarty方法 456
20.3.4 Smarty缓存 456
20.3.5 情景应用——开启网站注册页面的缓存 458
20.4 实战练习 460
20.4.1 Smarty+ADODB完成数据的分页输出 460
20.4.2 Smarty中通过truncate方法截取字符串 461
20.4.3 用Register_Function方法注册模板函数 462
20.4.4 Smarty模板中的关键字描红 464
20.5 本章小结 464
第四篇 实战篇
第21章 企业网站开发模板 466
21.1 明日企业网概述 467
21.2 开发背景 467
21.3 需求分析 467
21.4 功能结构 468
21.5 数据库设计 469
21.5.1 数据库概念设计 469
21.5.2 创建数据库及数据表 470
21.6 技术攻关 471
21.6.1 Smarty模板 471
21.6.2 最简单的网页框架 473
21.6.3 ADODB类库 473
21.6.4 封装分页类 474
21.7 首页设计 475
21.7.1 首页概述 475
21.7.2 首页技术分析 476
21.7.3 首页的实现过程 476
21.8 产品展示设计 478
21.8.1 产品展示概述 478
21.8.2 产品展示技术分析 478
21.8.3 产品展示实现过程 479
21.9 后台管理系统设计 480
21.9.1 后台管理系统概述 481
21.9.2 后台管理系统技术分析 481
21.9.3 后台管理系统实现过程 482
21.10 程序调试与错误处理 486
21.10.1 SQL语句的返回机制 486
21.10.2 错误处理 487
21.11 开发总结 488
附录 专业术语表 489
Ⅷ 如何在php.net网站下载php中文手册
http://php.net/downloads.php#v5.4.41
Ⅸ 谁来帮帮我!
下面是PHP5中PHP.INI中文详细配置,你试试
;;;;;;;;;;;;;;
;; Apache ;;
;;;;;;;;;;;;;;
[Apache]
; 仅在将PHP作为Apache模块时才有效。
engine = On
; 是否启用PHP解析引擎。
; 可以在httpd.conf中基于目录或者虚拟主机来打开或者关闭PHP解析引擎。
last_modified = Off
; 是否在Last-Modified应答头中放置该PHP脚本的最后修改时间。
xbithack = Off
; 是否不管文件结尾是什么,都作为PHP可执行位组来解析。
child_terminate = Off
; PHP脚本在请求结束后是否允许使用apache_child_terminate()函数终止子进程。
; 该指令仅在UNIX平台上将PHP安装为Apache1.3的模块时可用。其他情况下皆不存在。
;;;;;;;;;;;;;;;
;; PHP核心 ;;
;;;;;;;;;;;;;;;
[PHP-Core-DateTime]
; 前四个配置选项目前仅用于date_sunrise()和date_sunset()函数。
date.default_latitude = 31.7667
; 默认纬度
date.default_longitude = 35.2333
; 默认经度
date.sunrise_zenith = 90.583333
; 默认日出天顶
date.sunset_zenith = 90.583333
; 默认日落天顶
date.timezone =
; 未设定TZ环境变量时用于所有日期和时间函数的默认时区。
; 中国大陆应当使用"PRC"
; 应用时区的优先顺序为:
; 1. 用date_default_timezone_set()函数设定的时区(如果设定了的话)
; 2. TZ 环境变量(如果非空的话)
; 3. 该指令的值(如果设定了的话)
; 4. PHP自己推测(如果操作系统支持)
; 5. 如果以上都不成功,则使用 UTC
[PHP-Core-Assert]
assert.active = On
; 是否启用assert()断言评估
assert.l = Off
; 是否在发生失败断言时中止脚本的执行
assert.callback =
; 发生失败断言时执行的回调函数
assert.quiet_eval = Off
; 是否使用安静评估(不显示任何错误信息,相当于error_reporting=0)。
; 若关闭则在评估断言表达式的时候使用当前的error_reporting指令值。
assert.warning = On
; 是否对每个失败断言都发出警告
[PHP-Core-SafeMode]
; 安全模式是为了解决共享服务器的安全问题而设立的。
; 但试图在PHP层解决这个问题在结构上是不合理的,
; 正确的做法应当是修改web服务器层和操作系统层。
; 因此在PHP6中废除了安全模式,并打算使用open_basedir指令取代之。
safe_mode = Off
;SYS
; 是否启用安全模式。
; 打开时,PHP将检查当前脚本的拥有者是否和被操作的文件的拥有者相同,
; 相同则允许操作,不同则拒绝操作。
safe_mode_gid = Off
;SYS
; 在安全模式下,默认在访问文件时会做UID比较检查。
; 但有些情况下严格的UID检查反而是不适合的,宽松的GID检查已经足够。
; 如果你想将其放宽到仅做GID比较,可以打开这个参数。
safe_mode_allowed_env_vars = "PHP_"
;SYS
; 在安全模式下,用户仅可以更改的环境变量的前缀列表(逗号分隔)。
; 允许用户设置某些环境变量,可能会导致潜在的安全漏洞。
; 注意: 如果这一参数值为空,PHP将允许用户更改任意环境变量!
safe_mode_protected_env_vars = "LD_LIBRARY_PATH"
;SYS
; 在安全模式下,用户不能更改的环境变量列表(逗号分隔)。
; 这些变量即使在safe_mode_allowed_env_vars指令设置为允许的情况下也会得到保护。
safe_mode_exec_dir = "/usr/local/php/bin"
;SYS
; 在安全模式下,只有该目录下的可执行程序才允许被执行系统程序的函数执行。
; 这些函数是:system, escapeshellarg, escapeshellcmd, exec, passthru,
; proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec
safe_mode_include_dir =
;SYS
; 在安全模式下,该组目录和其子目录下的文件被包含时,将跳过UID/GID检查。
; 换句话说,如果此处的值为空,任何UID/GID不符合的文件都不允许被包含。
; 这里设置的目录必须已经存在于include_path指令中或者用完整路径来包含。
; 多个目录之间用冒号(Win下为分号)隔开。
; 指定的限制实际上是一个前缀,而非一个目录名,
; 也就是说"/dir/incl"将允许访问"/dir/include"和"/dir/incls"
; 如果您希望将访问控制在一个指定的目录,那么请在结尾加上斜线。
sql.safe_mode = Off
;SYS
; 是否使用SQL安全模式。
; 如果打开,指定默认值的数据库连接函数将会使用这些默认值代替支持的参数。
; 对于每个不同数据库的连接函数,其默认值请参考相应的手册页面。
[PHP-Core-Safe]
allow_url_fopen = On
;ini
; 是否允许打开远程文件
allow_url_include = Off
;SYS
; 是否允许include/require远程文件。
disable_classes =
;ini
; 该指令接受一个用逗号分隔的类名列表,以禁用特定的类。
disable_functions =
;ini
; 该指令接受一个用逗号分隔的函数名列表,以禁用特定的函数。
enable_dl = On
;SYS
; 是否允许使用dl()函数。dl()函数仅在将PHP作为apache模块安装时才有效。
; 禁用dl()函数主要是出于安全考虑,因为它可以绕过open_basedir指令的限制。
; 在安全模式下始终禁用dl()函数,而不管此处如何设置。
expose_php = On
;ini
; 是否暴露PHP被安装在服务器上的事实(在http头中加上其签名)。
; 它不会有安全上的直接威胁,但它使得客户端知道服务器上安装了PHP。
open_basedir =
;SYS
; 将PHP允许操作的所有文件(包括文件自身)都限制在此组目录列表下。
; 当一个脚本试图打开一个指定目录树之外的文件时,将遭到拒绝。
; 所有的符号连接都会被解析,所以不可能通过符号连接来避开此限制。
; 特殊值'.'指定了存放该脚本的目录将被当做基准目录。
; 但这有些危险,因为脚本的工作目录可以轻易被chdir()改变。
; 对于共享服务器,在httpd.conf中灵活设置该指令将变得非常有用。
; 在Windows中用分号分隔目录,UNIX系统中用冒号分隔目录。
; 作为Apache模块时,父目录中的open_basedir路径将自动被继承。
; 指定的限制实际上是一个前缀,而非一个目录名,
; 也就是说"/dir/incl"将允许访问"/dir/include"和"/dir/incls",
; 如果您希望将访问控制在一个指定的目录,那么请在结尾加上一个斜线。
; 默认是允许打开所有文件。
[PHP-Core-Error]
error_reporting = E_ALL & ~E_NOTICE
; 错误报告级别是位字段的叠加,推荐使用 E_ALL | E_STRICT
; 1 E_ERROR 致命的运行时错误
; 2 E_WARNING 运行时警告(非致命性错误)
; 4 E_PARSE 编译时解析错误
; 8 E_NOTICE 运行时提醒(经常是bug,也可能是有意的)
; 16 E_CORE_ERROR PHP启动时初始化过程中的致命错误
; 32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)
; 64 E_COMPILE_ERROR 编译时致命性错
; 128 E_COMPILE_WARNING 编译时警告(非致命性错)
; 256 E_USER_ERROR 用户自定义的致命错误
; 512 E_USER_WARNING 用户自定义的警告(非致命性错误)
; 1024 E_USER_NOTICE 用户自定义的提醒(经常是bug,也可能是有意的)
; 2048 E_STRICT 编码标准化警告(建议如何修改以向前兼容)
; 4096 E_RECOVERABLE_ERROR 接近致命的运行时错误,若未被捕获则视同E_ERROR
; 6143 E_ALL 除E_STRICT外的所有错误(PHP6中为8191,即包含所有)
track_errors = Off
; 是否在变量$php_errormsg中保存最近一个错误或警告消息。
display_errors = On
; 是否将错误信息作为输出的一部分显示。
; 在最终发布的web站点上,强烈建议你关掉这个特性,并使用错误日志代替(参看下面)。
; 在最终发布的web站点打开这个特性可能暴露一些安全信息,
; 例如你的web服务上的文件路径、数据库规划或别的信息。
display_startup_errors = Off
; 是否显示PHP启动时的错误。
; 即使display_errors指令被打开,关闭此参数也将不显示PHP启动时的错误。
; 建议你关掉这个特性,除非你必须要用于调试中。
report_memleaks = On
; 是否报告内存泄漏。这个参数只在以调试方式编译的PHP中起作用,
; 并且必须在error_reporting指令中包含 E_WARNING
report_zend_debug = On
; 尚无说明文档
html_errors = On
; 是否在出错信息中使用HTML标记。
; 注意: 不要在发布的站点上使用这个特性!
docref_root = ;"http://localhost/phpmanual/"
docref_ext = ;".html"
; 如果打开了html_errors指令,PHP将会在出错信息上显示超连接,
; 直接链接到一个说明这个错误或者导致这个错误的函数的页面。
; 你可以从http://www.php.net/docs.php下载php手册,
; 并将docref_root指令指向你本地的手册所在的URL目录。
; 你还必须设置docref_ext指令来指定文件的扩展名(必须含有'.')。
; 注意: 不要在发布的站点上使用这个特性。
error_prepend_string = ;"<font color=#f00>"
; 用于错误信息前输出的字符串
error_append_string = ;"</font>"
; 用于错误信息后输出的字符串
xmlrpc_errors = Off
xmlrpc_error_number = 0
; 尚无文档
[PHP-Core-Logging]
define_syslog_variables = Off
; 是否定义各种系统日志变量,如:$LOG_PID, $LOG_CRON 等等。
; 关掉它以提高效率的好主意。
; 你可以在运行时调用define_syslog_variables()函数来定义这些变量。
error_log =
; 将错误日志记录到哪个文件中。该文件必须对Web服务器用户可写。
; syslog 表示记录到系统日志中(NT下的事件日志, Unix下的syslog(3))
; 如果此处未设置任何值,则错误将被记录到Web服务器的错误日志中。
log_errors = Off
; 是否在日志文件里记录错误,具体在哪里记录取决于error_log指令。
; 强烈建议你在最终发布的web站点时使用日志记录错误而不是直接输出,
; 这样可以让你既知道那里出了问题,又不会暴露敏感信息。
log_errors_max_len = 1024
; 设置错误日志中附加的与错误信息相关联的错误源的最大长度。
; 这里设置的值对显示的和记录的错误以及$php_errormsg都有效。
; 设为 0 可以允许无限长度。
ignore_repeated_errors = Off
; 记录错误日志时是否忽略重复的错误信息。
; 错误信息必须出现在同一文件的同一行才被被视为重复。
ignore_repeated_source = Off
; 是否在忽略重复的错误信息时忽略重复的错误源。
[PHP-Core-Mail]
; 要使邮件函数可用,PHP必须在编译时能够访问sendmail程序。
; 如果使用其它的邮件程序,如qmail或postfix,确保使用了相应的sendmail包装。
; PHP首先会在系统的PATH环境变量中搜索sendmail,接着按以下顺序搜索:
; /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib
; 强烈建议在PATH中能够找到sendmail。
; 另外,编译PHP的用户必须能够访问sendmail程序。
SMTP = "localhost"
; mail()函数中用来发送邮件的SMTP服务器的主机名称或者IP地址。仅用于win32。
smtp_port = 25
; SMTP服务器的端口号。仅用于win32。
sendmail_from =
; 发送邮件时使用的"From:"头中的邮件地址。仅用于win32
; 该选项还同时设置了"Return-Path:"头。
sendmail_path = "-t -i"
;SYS
; 仅用于unix,也可支持参数(默认的是'sendmail -t -i')
; sendmail程序的路径,通常为"/usr/sbin/sendmail或/usr/lib/sendmail"。
; configure脚本会尝试找到该程序并设定为默认值,但是如果失败的话,可以在这里设定。
; 不使用sendmail的系统应将此指令设定为sendmail替代程序(如果有的话)。
; 例如,Qmail用户通常可以设为"/var/qmail/bin/sendmail"或"/var/qmail/bin/qmail-inject"。
; qmail-inject 不需要任何选项就能正确处理邮件。
mail.force_extra_parameters =
; 作为额外的参数传递给sendmail库的强制指定的参数附加值。
; 这些参数总是会替换掉mail()的第5个参数,即使在安全模式下也是如此。
[PHP-Core-ResourceLimit]
default_socket_timeout = 60
; 默认socket超时(秒)
max_execution_time = 30
; 每个脚本最大允许执行时间(秒),0 表示没有限制。
; 这个参数有助于阻止劣质脚本无休止的占用服务器资源。
; 该指令仅影响脚本本身的运行时间,任何其它花费在脚本运行之外的时间,
; 如用system()/sleep()函数的使用、数据库查询、文件上传等,都不包括在内。
; 在安全模式下,你不能用ini_set()在运行时改变这个设置。
memory_limit = 16M
; 一个脚本所能够申请到的最大内存字节数(可以使用K和M作为单位)。
; 这有助于防止劣质脚本消耗完服务器上的所有内存。
; 要能够使用该指令必须在编译时使用"--enable-memory-limit"配置选项。
; 如果要取消内存限制,则必须将其设为 -1 。
; 设置了该指令后,memory_get_usage()函数将变为可用。
max_input_time = -1
; 每个脚本解析输入数据(POST, GET, upload)的最大允许时间(秒)。
; -1 表示不限制。
post_max_size = 8M
; 允许的POST数据最大字节长度。此设定也影响到文件上传。
; 如果POST数据超出限制,那么___FCKpd___0
POST和
___FCKpd___0
FILES将会为空。
; 要上传大文件,该值必须大于upload_max_filesize指令的值。
; 如果启用了内存限制,那么该值应当小于memory_limit指令的值。
realpath_cache_size = 16K
;SYS
; 指定PHP使用的realpath(规范化的绝对路径名)缓冲区大小。
; 在PHP打开大量文件的系统上应当增大该值以提高性能。
realpath_cache_ttl = 120
;SYS
; realpath缓冲区中信息的有效期(秒)。
; 对文件很少变动的系统,可以增大该值以提高性能。
[PHP-Core-FileUpLoad]
file_uploads = On
;SYS
; 是否允许HTTP文件上传。
; 参见upload_max_filesize, upload_tmp_dir, post_max_size指令
upload_max_filesize = 2M
; 允许上传的文件的最大尺寸。
upload_tmp_dir =
;SYS
; 文件上传时存放文件的临时目录(必须是PHP进程用户可写的目录)。
; 如果未指定则PHP使用系统默认的临时目录。
[PHP-Core-MagicQuotes]
; PHP6将取消魔术引号,相当于下列指令全部为 Off
magic_quotes_gpc = On
; 是否对输入的GET/POST/Cookie数据使用自动字符串转义( ' " \ NULL )。
; 这里的设置将自动影响
___FCKpd___0
GEST
___FCKpd___0
POST
___FCKpd___0
COOKIE 数组的值。
; 若将本指令与magic_quotes_sybase指令同时打开,则仅将单引号(')转义为(''),
; 其它特殊字符将不被转义,即( " \ NULL )将保持原样!!
; 建议关闭此特性,并使用自定义的过滤函数。
magic_quotes_runtime = Off
; 是否对运行时从外部资源产生的数据使用自动字符串转义( ' " \ NULL )。
; 若打开本指令,则大多数函数从外部资源(数据库,文本文件等)返回数据都将被转义。
; 例如:用SQL查询得到的数据,用exec()函数得到的数据,等等
; 若将本指令与magic_quotes_sybase指令同时打开,则仅将单引号(')转义为(''),
; 其它特殊字符将不被转义,即( " \ NULL )将保持原样!!
; 建议关闭此特性,并视具体情况使用自定义的过滤函数。
magic_quotes_sybase = Off
; 是否采用Sybase形式的自动字符串转义(用 '' 表示 ')
[PHP-Core-HighLight]
highlight.bg = "#FFFFFF"
highlight.comment = "#FF8000"
highlight.default = "#0000BB"
highlight.html = "#000000"
highlight.keyword = "#007700"
highlight.string = "#DD0000"
; 语法高亮模式的色彩(通常用于显示 .phps 文件)。
; 只要能被<font color=xxx>接受的东西就能正常工作。
[PHP-Core-Langue]
short_open_tag = On
; 是否允许使用"<? ?>"短标识。否则必须使用"<?php ?>"长标识。
; 除非你的php程序仅在受控环境下运行,且只供自己使用,否则请不要使用短标记。
; 如果要和XML结合使用PHP,可以选择关闭此选项以方便直接嵌入"<?xml ... ?>",
; 不然你必须用PHP来输出:<? echo '<?xml version="1.0"'; ?>
; 本指令也会影响到缩写形式"<?=",它和"<? echo"等价,要使用它也必须打开短标记。
asp_tags = Off
; 是否允许ASP风格的标记"<% %>",这也会影响到缩写形式"<%="。
; PHP6中将删除此指令
arg_separator.output = "&"
; PHP所产生的URL中用来分隔参数的分隔符。
; 另外还可以用"&"或","等等。
arg_separator.input = "&"
; PHP解析URL中的变量时使用的分隔符列表。
; 字符串中的每一个字符都会被当作分割符。
; 另外还可以用",&"等等。
allow_call_time_pass_reference = On
; 是否强迫在函数调用时按引用传递参数(每次使用此特性都会收到一条警告)。
; php反对这种做法,并在将来的版本里不再支持,因为它影响到了代码的整洁。
; 鼓励的方法是在函数声明里明确指定哪些参数按引用传递。
; 我们鼓励你关闭这一选项,以保证你的脚本在将来版本的语言里仍能正常工作。
auto_globals_jit = On
; 是否仅在使用到
___FCKpd___0
SERVER和
___FCKpd___0
ENV变量时才创建(而不是在脚本一启动时就自动创建)。
; 如果并未在脚本中使用这两个数组,打开该指令将会获得性能上的提升。
; 要想该指令生效,必须关闭register_globals和register_long_arrays指令。
auto_prepend_file =
auto_append_file =
; 指定在主文件之前/后自动解析的文件名。为空表示禁用该特性。
; 该文件就像调用了include()函数被包含进来一样,因此会使用include_path指令的值。
; 注意:如果脚本通过exit()终止,那么自动后缀将不会发生。
variables_order = "EGPCS"
; PHP注册 Environment, GET, POST, Cookie, Server 变量的顺序。
; 分别用 E, G, P, C, S 表示,按从左到右注册,新值覆盖旧值。
; 举例说,设为"GP"将会导致用POST变量覆盖同名的GET变量,
; 并完全忽略 Environment, Cookie, Server 变量。
; 推荐使用"GPC"或"GPCS",并使用getenv()函数访问环境变量。
register_globals = Off
; 是否将 E, G, P, C, S 变量注册为全局变量。
; 打开该指令可能会导致严重的安全问题,除非你的脚本经过非常仔细的检查。
; 推荐使用预定义的超全局变量:
___FCKpd___0
ENV,
___FCKpd___0
GET,
___FCKpd___0
POST,
___FCKpd___0
COOKIE,
___FCKpd___0
SERVER
; 该指令受variables_order指令的影响。
; PHP6中已经删除此指令。
register_argc_argv = On
; 是否声明$argv和$argc全局变量(包含用GET方法的信息)。
; 建议不要使用这两个变量,并关掉该指令以提高性能。
register_long_arrays = On
; 是否启用旧式的长式数组(HTTP_*_VARS)。
; 鼓励使用短式的预定义超全局数组,并关闭该特性以获得更好的性能。
; PHP6中已经删除此指令。
always_populate_raw_post_data = Off
; 是否总是生成$HTTP_RAW_POST_DATA变量(原始POST数据)。
; 否则,此变量仅在遇到不能识别的MIME类型的数据时才产生。
; 不过,访问原始POST数据的更好方法是 php://input 。
; $HTTP_RAW_POST_DATA对于enctype="multipart/form-data"的表单数据不可用。
unserialize_callback_func =
; 如果解序列化处理器需要实例化一个未定义的类,
; 这里指定的回调函数将以该未定义类的名字作为参数被unserialize()调用,
; 以免得到不完整的"__PHP_Incomplete_Class"对象。
; 如果这里没有指定函数,或指定的函数不包含(或实现)那个未定义的类,将会显示警告信息。
; 所以仅在确实需要实现这样的回调函数时才设置该指令。
; 若要禁止这个特性,只需置空即可。
y2k_compliance = On
; 是否强制打开2000年适应(可能在非Y2K适应的浏览器中导致问题)。
zend.ze1_compatibility_mode = Off
; 是否使用兼容Zend引擎I(PHP 4.x)的模式。
; 这将影响对象的复制、构造(无属性的对象会产生FALSE或0)、比较。
; 兼容模式下,对象将按值传递,而不是默认的按引用传递。
precision = 14
; 浮点型数据显示的有效位数。
serialize_precision = 100
; 将浮点型和双精度型数据序列化存储时的精度(有效位数)。
; 默认值能够确保浮点型数据被解序列化程序解码时不会丢失数据。
[PHP-Core-OutputControl]
; 输出控制函数很有用,特别是在已经输出了信息之后再发送HTTP头的情况下。
; 输出控制函数不会作用于header()或setcookie()等函数发送的HTTP头,
; 而只会影响类似于echo()函数输出的信息和嵌入在PHP代码之间的信息。
implicit_flush = Off
; 是否要求PHP输出层在每个输出块之后自动刷新数据。
; 这等效于在每个 print()、echo()、HTML块 之后自动调用flush()函数。
; 打开这个选项对程序执行的性能有严重的影响,通常只推荐在调试时使用。
; 在CLI SAPI的执行模式下,该指令默认为 On 。
output_buffering = 0
; 输出缓冲区大小(字节)。建议值为4096~8192。
; 输出缓冲允许你甚至在输出正文内容之后再发送HTTP头(包括cookies)。
; 其代价是输出层减慢一点点速度。
; 设置输出缓冲可以减少写入,有时还能减少网络数据包的发送。
; 这个参数的实际收益很大程度上取决于你使用的是什么Web服务器以及什么样的脚本。
output_handler =
; 将所有脚本的输出重定向到一个输出处理函数。
; 比如,重定向到mb_output_handler()函数时,字符编码将被透明地转换为指定的编码。
; 一旦你在这里指定了输出处理程序,输出缓冲将被自动打开(output_buffering=4096)。
; 注意0: 此处仅能使用PHP内置的函数,自定义函数应在脚本中使用ob_start()指定。
; 注意1: 可移植脚本不能依赖该指令,而应使用ob_start()函数明确指定输出处理函数。
; 使用这个指令可能会导致某些你不熟悉的脚本出错。
; 注意2: 你不能同时使用"mb_output_handler"和"ob_iconv_handler"两个输出处理函数。
; 你也不能同时使用"ob_gzhandler"输出处理函数和zlib.output_compression指令。
; 注意3: 如果使用zlib.output_handler指令开启zlib输出压缩,该指令必须为空。
Ⅹ php教程 php的入门教程
1、打开电脑中的php开发工具Dreamweaver,新建一个PHP,保存为php格式。
2、打开浏览器搜索PHP教程,下载PHP手册或者在线学习。
3、在Dreamweaver中书写一段简单的代码。
4、保存(crtl+s)运行(F12),出现一个“是否立即指定服务器”的提示框,点击确定。进入“站点设置对象”。
5、站点设置对象:设置本地站点名称和本地站点文件夹,然后确定会弹出一个对话框,点击确认即可。进入“web页面的承载服务器”和“版本控制”等,然后确定即可。