《PHP网络编程典型模块与实例精讲》 是2007年6月由电子工业出版社出版的图书,作者是姜林美、宗杰、徐剑。
书名 | PHP网络编程典型模块与实例精讲 | 作者 | 姜林美 宗杰 徐剑 |
---|---|---|---|
ISBN | 7121044935或9787121044939 | 定价 | ¥55.00 元 |
出版社 | 电子工业出版社 | 出版时间 | 2007-06 |
模块(module):完成特定功能的单元、部件或者子程序。 拨号连接由一个系列提供综合业务数字网(ISDN)主要速率接口(PRI)基本速率接口(BRI)的网络模块;集成数字调制解调器、模拟调制解调器、...
EIA/TIA的布线标准中规定了两种双绞线的线序568A与568B引脚序号 : 1 2 3 4 5 6 7 8568A 线序是白绿 绿 白橙 蓝 白蓝 橙 白...
海思 3512接线图 JI:网线接口,从上到下,1:3.3V+,2:LINK_LED, 3:SYS_LED, 4:RJ45_CD, 5:RJ45_AB, 6:RJ45_RX-, 7:RJ45_RX+, 8:RJ45_TX-, 9:RJ45_TX+. J2:POE供电接口,从上到下, 1:GND, 2:DC, 3:POE_DC+ 4:DC_IN+, 5:RJ45_CD, 6:RJ45_AB, 7:POE_RXCT, 8:POE_:TXCT. J3:接数字 CMOS.可接 656,601数字信号。 J4:扩展板连接口。 J9:球机接口: 1:DC12V+, 2:GND, 3:视频输入, 4:GND, 5:485A, 6:485B, 7:3.3V, 8:3.3V。 J14:扩展板连接口。(从上到下: 2:GND,3:TX,4:RX,5:3.3V 这是接串 口) J13:音频接口:从左
网络信息模块(网线插座)的正确安装 八芯网线上网其实只用四根芯,所以一根网线是可以走四路电话 /两路网络 /一路网络两路电 话的,建议大家布线的时候不要再单独走电话线了。 个人建议能多走有线网络的地方尽量走 有线网络。 家装布线中网络接口模块的安装是一个技术活, 在某些家装工程中, 由于某此施工队对 网络部分的安装不是很了解, 网络布线也没有经过检测, 导致用户在使用时发现网络根本就 不通。这种情况在目前家庭装修非常普遍, 因此我们施工队尤其是业主应了解一些网络接口 模块的安装以免出现问题。 家装工程的网络布线其实和电线布线的施工方式法有些相同, 都是在地板、墙壁里暗装, 经过 PVC 管和终结在 86 底盒。但网络线是一个信息点一根网线, 中间不允许续接, 一线走 到底。这些对于一般施工队来说不难,难的是如何安装网线始点和终点的接口模块。 在始点是位于家庭信息接入箱中的 “网络模块条 ”
《DSP嵌入式常用模块与综合系统设计实例精讲》语言通俗,结构合理,实例典型热门,工程实践性强。《DSP嵌入式常用模块与综合系统设计实例精讲》不但详细介绍了DSP的硬件设计和模块化编程,而且提供了DSP应用程序设计思路,对实例的所有程序代码做了详细注释,利于读者理解和巩固知识点,快速实现举一反三。
《DSP嵌入式常用模块与综合系统设计实例精讲》配有一张光盘,包含了全书所有实例的硬件原理图和程序源代码,方便读者学习和使用。《DSP嵌入式常用模块与综合系统设计实例精讲》适合计算机、自动化、电子及通信等相关专业的大学生,以及从事DSP开发的科研人员使用。
《php典型模块与项目实战大全》附带1张dvd,内容是作者为本书录制的全程多媒体语音教学视频及本书所涉及的源代码。该书以实战开发为原则,以php典型模块和项目开发为主线,通过12个高质量的php典型模块和6个php大型应用,向读者揭示了web开发的整体结构,并详尽地介绍php开发与建站的技术要点。
《php典型模块与项目实战大全》共22章,分为3篇。第1篇是php开发基础,涵盖的内容有web开发基础、开发环境的安装与配置、php语言参考、php简单实例;第2篇为典型模块开发与应用,涵盖的内容有留言板模块、注册及登录验证模块、上传与下载模块、内容采集器模块、日程表模块、聊天室程序、计费系统模块、充值平台模块、在线调查模块、wap资讯模块、广告管理模块、文件管理器模块;第3篇为项目开发实战,涵盖的内容有内容管理系统、娱乐联播软件、宝藏游戏、图片交易平台、在线购物平台、joomla扩展开发与快速建站。
《php典型模块与项目实战大全》内容全面、深入,既是优秀的学习教程,也可用作参考手册。书中的大量实例和深入分析均来自于作者多年的实际工作经验,对于解决开发人员在实际开发中所面临的各种问题有重要的借鉴意义。本书适合各层次的php程序员、爱好者和web开发人员阅读。
作译者回到顶部↑本书提供作译者介绍
杨宇 开源爱好者。曾参与并领导多个大型互联网项目。在Web开发、MySQL数据库开发、负载均衡、分布式部署方案、大规模高并发系统设计等领域有丰富的架构设计及项目管理经验。现任某互联网公司副总经理兼技术总监。
场景:日常任务中,有时需要通过php脚本执行一些日志分析,队列处理等任务,当数据量比较大时,可以使用多进程来处理。
准备:php多进程需要pcntl,posix扩展支持,可以通过 php - m 查看,没安装的话需要重新编译php,加上参数--enable-pcntl,posix一般默认会有。
创建子进程的函数fork
pcntl_fork — 在当前进程当前位置产生分支(子进程)。译注:fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程号,而子进程得到的是0。
一个fork子进程的基础示例:
<?php
$pid=pcntl_fork();//父进程和子进程都会执行下面代码
if($pid== -1) {
//错误处理:创建子进程失败时返回-1.die('could not fork');} elseif($pid) {
//父进程会得到子进程号,所以这里是父进程执行的逻辑pcntl_wait($status);
//等待子进程中断,防止子进程成为僵尸进程。
} else{
//子进程得到的$pid为0, 所以这里是子进程执行的逻辑。
}
如果一个任务被分解成多个进程执行,就会减少整体的耗时。
比如有一个比较大的数据文件要处理,这个文件由很多行组成。如果单进程执行要处理的任务,量很大时要耗时比较久。这时可以考虑多进程。
多进程处理分解任务,每个进程处理文件的一部分,这样需要均分割一下这个大文件成多个小文件(进程数和小文件的个数等同就可以)。
比如该文件file.log有10万行数据,现在想分4个进程处理。需要分割2.5万行一个文件。命令split可以做到。
split的用法比较简单,可以man split查看下手册。
split-l 25000-d file.log prefix_name
-l是按照行分割,-d是分割后的文件名按照数字,-a是分割后的文件个数位数(默认是2,做多就是99个;比如超过100个,-a可以写3)。自己尝试分割一下就知道了。
处理代码:
<?php
shell_exec('split -l 25000 -d file.log prefix_name');
// 3个子进程处理任务
for($i= 0; $i< 3; $i++){
$pid=pcntl_fork();
if($pid== -1) {
die("could not fork");} elseif($pid) {
echo"I'm the Parent $in"; } else{// 子进程处理$content= file_get_contents("prefix_name0".$i);
// 业务处理 begin// 业务处理 endexit;
// 一定要注意退出子进程,否则pcntl_fork() 会被子进程再fork,带来处理上的影响。}}// 等待子进程执行结束
while(pcntl_waitpid(0, $status) != -1) {
$status= pcntl_wexitstatus($status);
echo"Child $statuscompletedn";}