php最新技术
⑴ php 程序员简历的内容
PHP 程序员简历的内容
篇一:PHP 程序员简历
PHP 程序员简历
熟练应用PHP+Mysql技术,能在WAMP环境下熟练编程。
理解对于Web网站开发的安全性要求,例如防SQL注射、令牌加密等技术。 理解Web开发流程,具有OO思想,能独立开发网站。
框架技术:
熟练使用smarty模板引擎技术, TP框架开发网站。
对三层结构、MVC的开发(设计模式)有较好的理解。
数 据 库:
熟练应用MySQL、SQL Server2005数据库,以及使用SQL语言。 前台展现:
熟识 HTML 、XHTML 网页技术,能熟练应用 DIV+CSS 样式布局设计出符合
Web2.0的页面,熟练应用javaScript 、Ajax 技术实现对于客户端的脚本验证,能够熟练使用Jquery类库实现对页面即点即改等功能。
开发工具:
能够使用ZendStudio-5.5.0等PHP开发工具。
掌握PhotpShop、Dreamweaver网页开发工具的使用。
熟悉php168,Ecshop二次开发工具的使用。
篇二:PHP程序员简历参考
姓 名 代林
手机:15850383121 ·Email: [email protected] 居住地: 上海市闸北区 ·性别:男 ·出生日期:01·01
个人概况
毕业院校:海南经贸职业技术学院
专业:电子商务 学历:大专 期望职位:PHP程序员
项目经验:基于Apache下电子商务购物Estore系统 、中小型企业及团体餐饮订餐系统 、基于Ajax的网页聊天工具
专业技术
核心语言:
在windows和linux环境下,熟练安装Apache、MySQL,熟练配置好解析php的环境。 熟练应用PHP+`MySQL技术,能在LAMP环境下熟练编程。
理解对于Web网站开发的安全性要求,例如防SQL注射、令牌加密等技术。
理解Web开发流程,具有OO思想,能独立开发网站。
框架技术:
熟练使用smarty模板引擎技术, TP框架开发网站。
对三层结构、MVC的开发(设计模式)有较好的理解。
数 据 库:
熟练应用MySQL、SQL Server2005数据库,以及使用SQL语言。
前台展现:
熟识 HTML 、XHTML 网页技术,能熟练应用 DIV+CSS 样式布局设计出符合Web2.0的页面,熟练应用JavaScript 、Ajax 技术实现对于客户端的脚本验证,能够熟练使用Jquery类库实现对页面即点即改等功能。
开发工具:
能够使用ZendStudio-5.5.0等PHP开发工具。
掌握PhotpShop、Dreamweaver网页开发工具的使用。 熟悉php168,Ecshop二次开发工具的使用。
培训认证:
2012年12月在杰普软件培训公司进行培训,培训期间熟练掌握并运用以下内容
1.PHP基础编程2.PHP高级编程3.mysql数据库,数据库的增删改查 4.mysql与php结合的数据库高级编程5.Javascript的使用6.XML的使用7.Ajax的应用8.cvs,数据的并发访问控制
项目经验:
Estore (购物网站)
软件环境: PHP+MYSQL+APACHE 开发语言:JavaScript,html,css 编程工具: EditPlus
责任描述: 研究需求分析以及数据建模,功能独立开发完成
项目描述: 无论对于大型商务系统,中小型系统,都必须要有一个明确的主题思路,无论对于使用者还是管理者,在任何方面都需要一个既提供标准有提供管理的系统;
该项目主要应用了 smarty + javascript等技术由于php是一种弱的语言,并不能实现面向对象的多态(重载),所以只是用到了面向对象的编程思想。在开发的过程中也使我更加熟悉基于Smarty + CMS的开发模式。
餐饮管理(订餐系统)
软件环境:PHP+MYSQL+APACHE
开发工具:ZendStudio-5.5.0开发语言:JavaScript,html,css
项目描述:建立一个完善的客户管理系统,通过不同用户的不同需求,进行相应的调配和处理,提高对订餐系统进行配置、管理的便捷性。
责任描述:前期设计数据库,在数据库中创建相关联的表;实现模块:用户登录,依据权限用户对后台操作,包括后台管理用户admin和普通用户的编辑菜单,添加菜单,查看已付款定单,修改admin密码,所有人员消费记录,查看充值记录,查看未付款订单,帐号充值。该项目是独立完成的!
项目感想:通过对该系统的.进一步深入了解,发掘出该项目适合一些中小型企业项目的订购系统的开发以及更深入的修改,对订购(订餐)系统有了更深的了解和认识!
根据客户的需求,然后利用产品的内核,进行系统的扩展和修改。
WEB聊天室构建
软件环境:PHP+MYSQL+APACHE 开发语言:JavaScript,html,css
开发工具:ZendStudio-5.5.0
项目描述:基于Ajax的web聊天室,用户登录成功后,显示在线用户,并在同一页面可以进行聊天。
责任描述:设计注册登录页面以及聊天室的主界面;利用ajax技术进行对用户名的即时验证;通过session保存用户的用户名,并更改用户状态;用ajax,php与mysql的结合显示在线用户;对聊天内容的一些特殊字符的处理与显示。
Ecshop二次开发
软件环境:PHP+MYSQL+APACHE
开发工具:ZendStudio-5.5.0
项目感想: 对二次开发又有了深入的了解,在开发过程中熟悉了网上购物的过程,购物车的实现 开发语言:JavaScript,html,css
自我评价:
自信、乐观、责任心强。具有较好的团队组织能力、分析问题和宣传策划活动能力、协调能力等。学习方面也有较强的求知欲与良好的学习能力。为人真诚,惯于换位思考;对自己要求严格,做事情讲究效率;对程序的开发及测试方面很感兴趣;有较强的学习能力,适应行业的要求和新技术的挑战;有较强的求知欲、较强的学习能力。
;⑵ 北大青鸟设计培训:学习PHP软件开发必须知道的技能
PHP软件开发与其他语言相比,它具有开发迅速、运行效率高、安全性好、可扩展性强、开源自由等优势。
回首PHP软件开发这几年的发展,趋势势不可挡,一定是将来web程序开发的主流技术体系。
而作为PHP软件开发员这些技能你又知道多少呢?不要在SQL查询中使用*我们通常编写SQL代码在PHP软件开发中,不过切记别在SQL查询中使用通配符,特别是数据库存在多列时。
要明确指定所需行,且只获取它们。
这有利于减少所用资源,保护数据,使之变得更清晰。
不要信任用户输入信任用户输入是不科学的。
不要故作聪明作为PHP软件开发员你只需要用优雅的代码,来清楚地表明你的想法。
恰当命名变量,为代码编写文档,注重清晰而非简洁。
不要重新发明轮子PHP软件开发已经发展很长一段时间,你想到的,或许早就有人发明了。
不要恐惧求助,Github,Composer,Packagist都能帮助到你。
无论是日志、调色、性能分析器、单元测试框架、MailchimpAPI、TwitterBootstrap等都可以。
不要忽略其它语言作为PHP软件开发员,不要只局限于你专业的,而忽略其他语言,北大青鸟http://www.kmbdqn.cn/建议你应该合理地学习其他语言并高效地使用它们。
⑶ 云南北大青鸟java培训告诉你学PHP技术前景好吗
学PHP技术前景好吗?PHP网站开发技术好学吗?对于每一位喜欢做网站的学员来说,这是他们最关心的问题,也是最想知道的事情。
现在几乎各行各业都会有相应的网站,而用PHP技术进行网站编程,成为了国内大多数企业越来越青睐的技术。目前,国内80%以上的WEB2.0网站使用PHP记性开发,国内排名前10名的网站中,有8家就使用PHP:网络、腾讯、新浪、搜狐、网易、淘宝网、雅虎、TOM。因此,PHP网站开发前景十分有潜力。但是由于目前教育体制与市场需求的相对脱节,使得日新月异的IT行业PHP技术人才紧缺情况达到白热化。
为了应广大学习者的要求,丽江北大青鸟嘉荟校区http://www.kmbdqn.cn/特推出php网站开发培训班,学校有资深工程师亲自授课,保证学员全面掌握当前互联网企业所要求的LAMP及LNMP相关技术整体解决方案。
学PHP技术前景好吗?作为IT培训行业的领先者,凭着最强劲的师资,最高质量的教学水平,丽江北大青鸟嘉荟学校真正踏踏实实地切身处地为学员未来着想的机构,从而让学员能够学到最好的技术,企业最需要的技术,发展前景最好的技术!
⑷ php培训机构排名
php培训机构排名:大连栈程教育,大连百年教育,大连迪派培训学校,大连北大青鸟教育。
一、看品牌。
品牌越大责任也就越大,注重诚信与自身品牌价值。品牌成立时间、公司规模、注册资金(工商注册输入企业名称可以查询到,比如搜索“广州中星信息技术服务股份有限公司”就会显示注册资金为8720.68万元整)、全国其他区域是否有分校区等。
二、看师资。
有句古语“名师出高徒”对于一个培训机构师资可以说是一大重点。一个好的机构最注重的就是教学品质,大机构愿高薪聘请5年以上经验丰富的教学专家,无论技术、教学能力堪称大牛。并且有实力重金打造教研团队。
三、看课程体系。
好的php培训机构往往会重金打造的教研团队根据技术更新频次,实时更新课程。在扎实的设计技能技术上,更多最新的技术才能让你适用于、以后的各项工作。起步稳才能走的稳,在这个竞争如此激烈的市场唯有稳固创新的技术才能获得大企业的青睐。
四、比费用。
当然学费的选择大家都会非常关注,毕竟都喜欢选都性价比最高的,切记绝对不是选择学费最低的!俗话说:一分钱、一分货!这是绝对有道理的!学费方面主要看:学费标准是否规范、透明,价格体系的完善性。
五、看教学硬件。
这个就不用多说了,你是否愿意花钱在一个四处脏兮兮的地方度过几个月,而且还没空调.....有良好的硬件,才能确保高效的学习效率。
六、看就业。
就业是职业教育培训或者技能培训的根本!花钱、花时间去培训,不就是希望培训后能进入好单位、有个好工作、拿更高的薪水吗?因此,选择学校最重要的一个因素应该是——就业。
一家可靠的培训机构是学生学习和就业的转折点,而对于如何选择最好的PHP培训机构这个问题上面的讲述大家可根据以上标准认真筛选。
⑸ php是什么意思
PHP开发班
课程:MySQL数据库的创建、修改及删除;数据表的创建、修改及删除;无限分类的数据表设计;记录的插入、更新、删除及查找;外键与连接;索引;存储过程,触发器,游标;事务处理;数据库引擎详解;数据库集群,数据库读写分离、类与对象,类的定义;属性与方法;$this关键字、 self关键字;继承,多态;魔术方法;抽象类与接口;设计模式;PDO类;JpGraph图表,FusionCharts图表;PHP高级应用(Smarty模板、PHP框架技术)等。
⑹ thinkphp中怎么用ajax
第一.tp中ajax的url需要使用大U方法.比如:$.post("{:U('User/add')}")
第二.控制器中返回结果得第一种方法.$this->error('失败','',true); 第三个参数为true.则发挥的是json数据.包含info.status.url三项.
第三.控制器中返回结果的第二种方法.$this->ajaxReturn(array('customKey1'=>'customValue1','customKey2'=>'customValue2','customKey3'=>'customValue3')).
⑺ PHP开发与Web前端开发有什么区别
一、主体不同
1、PHP:是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识就能使用PHP建立一个真正交互的WEB站点。
2、Web前端:是创建Web页面或app等前端界面呈现给用户的过程。
二、过程不同
1、PHP:PHP网页文件被当作一般HTML网页文件来处理并且在编辑时可以用编辑HTML的常规方法编写PHP。
2、Web前端:通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。
三、学习的框架不同
1、PHP:可选的框架包括CakePHP、CodeIgniter、Zend等。
2、Web前端:熟悉掌握HTML、服务器端脚本语言、CSS和JavaScript之后,学习Web框架可以加快Web开发速度,节约时间。
⑻ 简历中php项目经验怎么写参考范文
项目 经验 是php求职者简历中向用人单位介绍、推荐自我的名片,以下是我精心推荐的一些简历中的php项目经验 范文 ,一起来学习下吧!
简历中的php项目经验范文(一)
**公司
起止年月:2009-09 ~ 至今
公司性质: 民营企业
所属行业:计算机/互联网/通信/电子
担任职位: PHP工程师
工作描述: 1.负责网站/的开发及代码及数据库优化等工作
2.配合其他部门开发中小型应用项目。
3.实现其他项目与PHP项目对接,webservice。
离职 原因: 还未离职
**公司
起止年月:2007-11 ~ 2009-05
公司性质: 私营企业
所属行业:互联网/电子商务
担任职位: 开发(各个项目主负责人)
工作描述: php开发,开发客户定制项目,涉及项目类型比较广泛。
离职原因: 工资太少
简历中的php项目经验范文(二)
人事管理系统 (应用程序)
软件环境: WAMP
编程工具: EditPlus
责任描述: 组内讨论需求分析以及数据建模,功能独立开发完成
项目描述: 无论对于大型公司,中小型公司,都避免不了对员工的管理,对于每个公司的管理者,在任何方面都需要一个既提供标准有提供管理的系统;对于公司的员工也希望能够了解自己的表现及在公司的职位、职责;
让公司 对员工的管理更方便,通过本系统能有效地管理工资发放、员工的考勤动态
还可实现员工的自我查看和管理;以提高公司的执行效率和经济效益。
项目感想: 该项目主要应用了 smarty + Ajax等技术由于php是一种弱的语言,并不能实现面向对象的多态(重载),所以只是用到了面向对象的编程思想。在开发的过程中也使我更加熟悉基于Smarty + CMS的开发模式。
天元茶叶网(168二次开发)
软件环境: WAMP
开发工具: ZendStudio-5.5.0
项目描述: 本次开发运用的是php168 v6 版本的二次开发!
这个版本主要是标签的使用,它实现了内容与设计的结合!方便快捷
本次开发的是茶叶网,实现了php168 v6版本的功能
项目感想: 首次研究二次开发项目,对二次开发有较好的理解!
根据客户的需求,然后利用产品的内核,进行系统的扩展和修改。
Ecshop二次开发
软件环境: WAMP
开发工具: ZendStudio-5.5.0
项目要求: 1、去掉网站中所有关于ecshop的信息;
2、给网站起个名字,比如,Tbshop。请把首页中“欢迎光临本店”修改为“你好,欢迎光临我的网店!”
3、去掉底部查询信息的显示
4、去掉首页版权信息
5、修改产品图片大小
6、请发布首页公告:“ 春节 快乐!”,并在文件中找到网站公告代码的位置;
7、网站关闭了注册,请修改默认显示“该网店暂停注册”,改为”网站正在测试谢绝注册,谢谢合作“;
8、删除商品显示页的商品点击率
项目感想: 对二次开发又有了深入的了解,在开发过程中熟悉了网上购物的过程,购物车的实现
幽冥茶网(ThinkPHP 框架开发)
软件环境: WAMP
开发工具: ZendStudio-5.5.0
项目描述: 运用thinkphp框架技术开发网站
项目感想: 了解框架技术,就是根据框架的结构在什么地方写什么样的代码!
简历中的php项目经验范文(三)
公司名称: xxx 教育 机构起止年月:2008-05 ~ 2008-10
公司性质: 私营企业所属行业:教育事业
担任职务: 教务助理
工作描述: 协助教务相关事务处理
离职原因: 谋求更大发展空间
公司名称: 广州多迪网络公司起止年月:2008-03 ~ 2008-10
公司性质: 私营企业所属行业:计算机业
担任职务: 实习
工作描述: 参加PHPCINA培训(全程班)
个人作品:南方传媒DIV布局、多彩世界网站的制作(SMARTY应用)、个人主页(ASP制作)
离职原因: 实习期到
公司名称: 广州票务中心起止年月:2006-04 ~ 2007-08
公司性质: 所属行业:
担任职务: 兼职
工作描述: 2006.4 广州票务中心做导购员,售票员,负责旅客的火车销售工作,被学院评为“春运工作标兵”。
2006.8 广州电脑城做兼职。
2007.7-2007.8 神州数码有限公司,网络维修实习员。
离职原因:
简历中的php项目经验范文(四)
姓名:xx
目前所在:天河区年龄:27
户口所在:广西国籍:中国
婚姻状况:未婚民族:汉族
培训认证:未参加身高:165 cm
诚信徽章:未申请体重:53 kg
人才测评:未测评
我的特长:
求职意向
人才类型:普通求职
应聘职位:软件工程师:工程师,数据库工程师/管理员:程序员
工作年限:4职称:无职称
求职类型:全职可到职日期:随时
月薪要求:面议希望工作地区:广州,深圳,东莞
工作经历
广东优势传媒有限公司 起止年月:2009-09 ~ 2010-06
公司性质:私营企业所属行业: 广告 /媒体
担任职位:PHP工程师
工作描述:网站、电子商城、公司OA、人事系统的开发与维护,服务器的管理与配置
具体项目有:
奇声网
华斯度坤士生活杂志
广州星网
一键商机
离职原因:拖欠工资
广州迎新丰科讯有限公司 起止年月:2006-07 ~ 2009-09
公司性质:私营企业所属行业:计算机软件
担任职位:ERP开发工程师
工作描述:1.ERP:
对ERP系统的ASP+VB版、ASP.NET(C#)版ERP进行二次开发,熟悉塑胶玩具、服装、印刷等行业ERP管理软件流程,具有BOM、工作单、套件工单、报价单,成本清单等的设计,能设计多种复杂报表,如成本一览表,模件需求表,层次BOM,BOM代用表,盘点,标签等报表。
2.零售管理软件:
采用C# Winform,参照多层结构模式及其他成熟架构进行设计,明确各层间分工,熟悉系统的前台系统(POS),后台系统,报表系统流程与设计,对小票打印、钱箱、顾客显示屏、电子称、扫描仪等相关外设的程序控制
离职原因:公司搬迁
广州麒兴科技有限公司 起止年月:2005-11 ~ 2006-07
公司性质:私营企业所属行业:计算机/互联网/通信/电子
担任职位:程序员
工作描述:对公司 公交车线路查询系统、企业短信息平台开发,以及防伪标签管理系统维护
离职原因:公司转型
志愿者经历
教育背景
毕业 院校:广州白云工商高级技工学校
最高学历:大专获得学位:毕业日期:2006-07
专 业 一:程序设计专 业 二:
起始年月终止年月学校(机构)所学专业获得证书证书编号
2000-092003-07广西容县职业中专高中--
2003-092006-07广州白云工商高级技工学校大专--
语言能力
外语:英语一般粤语水平:优秀
其它 外语能力:
国语水平:优秀
工作能力及其他专长
专业技能:
* 熟悉C#、ASP、VB、PHP多种开发语言,使用html、DIV+CSS、Javascript、Ajax等技术进行页面设计,掌握SQL Server、MySQL、Access、SQLite等数据库,能编写高效复杂的SQL语句、存储过程,有百万级数
据快速查询优化经验
* 熟悉C#的B/S和C/S应用程序开发,掌握ADO.NET、COM、COM+、简单控件开发
* 熟悉VB、ASP组合开发,掌握ADO、COM、DLL组件
* 多种模式系统架构设计经验,了解ORM框架设计思想、三层架构分析,能熟练编写各种接口、抽象类、基类、派生类或反射等
* 熟悉在Windows、Linux系统下进行服务器环境配置,如:PHP + Apache + Mysql、FTP
* 熟悉使用与建立源码库,如VSS、SVN
* 掌握使用多种报表工具,如Crystal Report、IReport、FastReport、SpagoBI
* 熟悉使用多种框架或思想进行二次开发或设计,C#:PetShop、Hibernate等; PHP:Ecshop、DEDECMS、Discuz等;
* 能对软件项目需求分析,进行系统框架和整体功能模块的详细设计及规划,编写相应的技术文档、使用手册;
* 有一定的英文文档阅读能力
参与项目:
* 塑胶玩具、印刷、服装等行业ERP系统开发 (VB + ASP + MS Sql, C# + MS Sql, PHP + Mysql)
* 零售业管理软件的系统架构、流程分析 (C# Winform + MS Sql + Access、采用该架构可以轻松扩展支持其他类型数据库,如Oracle)
* OA、人事管理系统 (PHP + Mysql)
* 企业、门户、商城、论坛等网站的开发 (PHP + Mysql)
自我评价
本人性格开朗、谦虚、自律、自信、稳重、有活力、有较强的责任感和团体协作精神,工作认真、积极主动,能吃苦耐劳,乐于助人、有较强的上进心、乐于学习新知识。希望能为贵贡献我的技能。
⑼ 北大青鸟java培训:java和php哪个好
随着IT产业的不断壮大,互联网人才需求日益增多,高薪、稳定、有前途成了代名词。
最近一直都是招生旺季,小编趁今日有点时间,好好整理一下之前很多同学遇到的问题,今天java课程http://www.kmbdqn.cn/和大家解析一下,java和php哪个好?我要学计算机,究竟是选择java开发还是php开发呢?1、入门难度:PHP培训简单易懂,入门不难,非计算机专业的学员和低学历的学员都容易入手。
而JAVA培训走的是高端路线,入门比较难,计算机基础不好的学员,可能会学的吃力些。
2、薪资待遇:两者差不多。
相比较来讲,PHP培训完全依托于市场的驱动,很多人并不了解PHP培训,而身边如果有行内人,大多都是做JAVA培训开发的,根本原因是大学没有这个课程。
JAVA由于大学基本都有这个课程,很多人想从事软件行业的时候,自然就学习JAVA了。
学习PHP培训的人少,企业需求多,导致PHP薪资远远超过了同行业者。
薪水高低与个人的技术水平有很大关系,如果你就算有好的基础和天赋,没有一个像武汉课工场这样的实训平台给你提供专业技术培训的话,也很难起步就拿到这样的薪资。
3、就业现状:PHP培训近几年很热门,被广泛应用在全球60%的网站开发中,腾讯、新浪、网络、微博等都有运用这个技术,尤其是中小企业对PHP培训人才需求量大,比较好找工作。
而非计算机专业和低学历转行的学员,学习PHP更容易找到适合的工作。
JAVA培训由于大学里面设置了JAVA课程,因此从事JAVA方向的初级人才竞争激烈,找工作不如PHP容易。
但是由于JAVA应用的广泛性,JAVA的岗位需求依然巨大。
4、JAVA培训和PHP培训技术层面对比:JAVA是纯面向对象开发,功能强大,分支众多,没有JAVA不能做的软件。
C/S也好B/S也好,从功能上讲,没有语言可以和JAVA相比。
PHP培训属于后起之秀,吸收了JAVA和C以及Perl等语言优点,专注互联网领域。
WEB领域里PHP拥有得天独厚的优势,没有语言可以和它比。
两者相比,基本上JAVA培训完胜,但是其实并没有太大的可比性,专注领域不同,单纯拿两者都可以做的WEB来说,PHP完胜。
5、发展空间:互联网的发展空间巨大,而互联网离不开WEB,WEB离不开PHP。
而JAVA又可以很好的实现跨平台开发,如果在WEB上做腻了,还可以转做安卓。
两个语言的发展空间不相上下,可以根据自己的喜好来选择。
⑽ PHP可以做什么
PHP可以做什么
PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域。WEB领域PHP拥有得天独厚的优势,WEB领域没有语言可以和他比。将来一定是互联网的天下。互联网离不开WEB,WEB离不开PHP。那么PHP可以做什么?一起来看看PHP的用途吧!
PC端网站开发
60%全球互联网网站采用php技术,80%国内互联网网站使用php开发。这些网站包含购物网站,政府企业网站,QQ空间,论坛博客等等。
移动端微网站开发
移动设备的普及为移动互联网的快速发展奠定了基础!手机淘宝网站,手机京东网站等等, 微信公众号应用中的微网站。 将来微网站和公众号肯定会取代APP的地位!
APP后台开发
APP后台开发也是移动互联网发展的一个产物。大多数网站为了让用户在手机上能够得到更好体验效果,都加入开发APP的开发行列中。而PHP后端技术将会作为他们的不二选择。
PHP主要用来做网站开发,许多小型网站都用PHP开发,PHP是开源的,这是使得PHP经久不衰的原因。在电商、社区等方面,PHP具备非常成熟的开源代码和模板,因此使得PHP应用极为广泛。
php-fpm的安装目录
下面是我的平时的环境搭建php的各种安装目录,大家的基本也差不多。
centos等linux平台
1./usr/local/php/php
2./usr/local/php/etc/php.ini
3./usr/local/php/sbin/php-fpm
4./usr/local/php/etc/php-fpm.conf
mac平台
1./usr/bin/php
2./etc/php.ini
3./usr/bin/php-fpm
4./etc/php-fpm.conf
由于我开发以Mac为主,所以就用Mac的环境配置来学习。
php-fpm配置详解
这是搜索的一份还算算比较详细的php-fpm.conf配置详解,我会针对性的修改下,当然php手册上也有详细的讲解:http://php.net/manual/zh/install.fpm.configuration.php
1.pid = /usr/local/var/run/php-fpm.pid
2.#pid设置,一定要开启,上面是Mac平台的。默认在php安装目录中的var/run/php-fpm.pid。比如centos的在: /usr/local/php/var/run/php-fpm.pid
3.
4.error_log = /usr/local/var/log/php-fpm.log
5.#错误日志,上面是Mac平台的,默认在php安装目录中的var/log/php-fpm.log,比如centos的在: /usr/local/php/var/log/php-fpm.log
6.
7.log_level = notice
8.#错误级别. 上面的php-fpm.log纪录的登记。可用级别为: alert(必须立即处理), error(错误情况), warning(警告情况), notice(一般重要信息), debug(调试信息). 默认: notice.
9.
10.emergency_restart_threshold = 60
11.emergency_restart_interval = 60s
12.#表示在emergency_restart_interval所设值内出现SIGSEGV或者SIGBUS错误的php-cgi进程数如果超过 emergency_restart_threshold个,php-fpm就会优雅重启。这两个选项一般保持默认值。0 表示 '关闭该功能'. 默认值: 0 (关闭).
13.
14.process_control_timeout = 0
15.#设置子进程接受主进程复用信号的超时时间. 可用单位: s(秒), m(分), h(小时), 或者 d(天) 默认单位: s(秒). 默认值: 0.
16.
17.daemonize = yes
18.#后台执行fpm,默认值为yes,如果为了调试可以改为no。在FPM中,可以使用不同的设置来运行多个进程池。 这些设置可以针对每个进程池单独设置。
19.
20.listen = 127.0.0.1:9000
21.#fpm监听端口,即nginx中php处理的地址,一般默认值即可。可用格式为: 'ip:port', 'port', '/path/to/unix/socket'. 每个进程池都需要设置。如果nginx和php在不同的机器上,分布式处理,就设置ip这里就可以了。
22.
23.listen.backlog = -1
24.#backlog数,设置 listen 的半连接队列长度,-1表示无限制,由操作系统决定,此行注释掉就行。backlog含义参考:http://www.3gyou.cc/?p=41
25.
26.listen.allowed_clients = 127.0.0.1
27.#允许访问FastCGI进程的IP白名单,设置any为不限制IP,如果要设置其他主机的nginx也能访问这台FPM进程,listen处要设置成本地可被访问的IP。默认值是any。每个地址是用逗号分隔. 如果没有设置或者为空,则允许任何服务器请求连接。
28.
29.listen.owner = www
30.listen.group = www
31.listen.mode = 0666
32.#unix socket设置选项,如果使用tcp方式访问,这里注释即可。
33.
34.user = www
35.group = www
36.#启动进程的用户和用户组,FPM 进程运行的Unix用户, 必须要设置。用户组,如果没有设置,则默认用户的组被使用。
37.
38.pm = dynamic
39.#php-fpm进程启动模式,pm可以设置为static和dynamic和ondemand
40.#如果选择static,则进程数就数固定的,由pm.max_children指定固定的子进程数。
41.
42.#如果选择dynamic,则进程数是动态变化的,由以下参数决定:
43.pm.max_children = 50 #子进程最大数
44.pm.start_servers = 2 #启动时的进程数,默认值为: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
45.pm.min_spare_servers = 1 #保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
46.pm.max_spare_servers = 3 #,保证空闲进程数最大值,如果空闲进程大于此值,此进行清理
47.
48.pm.max_requests = 500
49.#设置每个子进程重生之前服务的请求数. 对于可能存在内存泄漏的第三方模块来说是非常有用的. 如果设置为 '0' 则一直接受请求. 等同于 PHP_FCGI_MAX_REQUESTS 环境变量. 默认值: 0.
50.
51.pm.status_path = /status
52.#FPM状态页面的网址. 如果没有设置, 则无法访问状态页面. 默认值: none. munin监控会使用到
53.
54.ping.path = /ping
55.#FPM监控页面的ping网址. 如果没有设置, 则无法访问ping页面. 该页面用于外部检测FPM是否存活并且可以响应请求. 请注意必须以斜线开头 (/)。
56.
57.ping.response = pong
58.#用于定义ping请求的返回相应. 返回为 HTTP 200 的 text/plain 格式文本. 默认值: pong.
59.
60.access.log = log/$pool.access.log
61.#每一个请求的访问日志,默认是关闭的。
62.
63.access.format = "%R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%"
64.#设定访问日志的格式。
65.
66.slowlog = log/$pool.log.slow
67.#慢请求的`记录日志,配合request_slowlog_timeout使用,默认关闭
68.
69.request_slowlog_timeout = 10s
70.#当一个请求该设置的超时时间后,就会将对应的PHP调用堆栈信息完整写入到慢日志中. 设置为 '0' 表示 'Off'
71.
72.request_terminate_timeout = 0
73.#设置单个请求的超时中止时间. 该选项可能会对php.ini设置中的'max_execution_time'因为某些特殊原因没有中止运行的脚本有用. 设置为 '0' 表示 'Off'.当经常出现502错误时可以尝试更改此选项。
74.
75.rlimit_files = 1024
76.#设置文件打开描述符的rlimit限制. 默认值: 系统定义值默认可打开句柄是1024,可使用 ulimit -n查看,ulimit -n 2048修改。
77.
78.rlimit_core = 0
79.#设置核心rlimit最大限制值. 可用值: 'unlimited' 、0或者正整数. 默认值: 系统定义值.
80.
81.chroot =
82.#启动时的Chroot目录. 所定义的目录需要是绝对路径. 如果没有设置, 则chroot不被使用.
83.
84.chdir =
85.#设置启动目录,启动时会自动Chdir到该目录. 所定义的目录需要是绝对路径. 默认值: 当前目录,或者/目录(chroot时)
86.
87.catch_workers_output = yes
88.#重定向运行过程中的stdout和stderr到主要的错误日志文件中. 如果没有设置, stdout 和 stderr 将会根据FastCGI的规则被重定向到 /dev/null . 默认值: 空.
当然还有一些无关紧要的设置,用到了再说吧。
一些重要的设置
php-fpm进程分配
在之前的文章中就说过了。在fasgcgi模式下,php会启动多个php-fpm进程,来接收nginx发来的请求,那是不是进程越多,速度就越快呢?这可不一定!得根据我们的机器配置和业务量来决定。
我们先来看下,设定进程的配置在哪里?
pm = static | dynamic | ondemand
pm可以设置成这样3种,我们用的最多的就上前面2种。
pm = static 模式
pm = static 表示我们创建的php-fpm子进程数量是固定的,那么就只有pm.max_children = 50这个参数生效。你启动php-fpm的时候就会一起全部启动51(1个主+50个子)个进程,颇为壮观。
pm = dynamic 模式
pm = dynamic模式,表示启动进程是动态分配的,随着请求量动态变化的。他由 pm.max_children,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers 这几个参数共同决定。
上面已经讲过,这里再重申一下吧:
pm.max_children = 50 是最大可创建的子进程的数量。必须设置。这里表示最多只能50个子进程。
pm.start_servers = 20 随着php-fpm一起启动时创建的子进程数目。默认值:min_spare_servers + (max_spare_servers - min_spare_servers) / 2。这里表示,一起启动会有20个子进程。
pm.min_spare_servers = 10
设置服务器空闲时最小php-fpm进程数量。必须设置。如果空闲的时候,会检查如果少于10个,就会启动几个来补上。
pm.max_spare_servers = 30
设置服务器空闲时最大php-fpm进程数量。必须设置。如果空闲时,会检查进程数,多于30个了,就会关闭几个,达到30个的状态。
到底选择static还数dynamic?
很多人恐惧症来袭,不知道选什么好?
一般原则是:动态适合小内存机器,灵活分配进程,省内存。静态适用于大内存机器,动态创建回收进程对服务器资源也是一种消耗。
如果你的内存很大,有8-20G,按照一个php-fpm进程20M算,100个就2G内存了,那就可以开启static模式。如果你的内存很小,比如才256M,那就要小心设置了,因为你的机器里面的其他的进程也算需要占用内存的,所以设置成dynamic是最好的,比如:pm.max_chindren = 8, 占用内存160M左右,而且可以随时变化,对于一半访问量的网站足够了。
慢日志查询
我们有时候会经常饱受500,502问题困扰。当nginx收到如上错误码时,可以确定后端php-fpm解析php出了某种问题,比如,执行错误,执行超时。
这个时候,我们是可以开启慢日志功能的。
slowlog = /usr/local/var/log/php-fpm.log.slow
request_slowlog_timeout = 15s
当一个请求该设置的超时时间15秒后,就会将对应的PHP调用堆栈信息完整写入到慢日志中。
php-fpm慢日志会记录下进程号,脚本名称,具体哪个文件哪行代码的哪个函数执行时间过长:
1.[21-Nov-2013 14:30:38] [pool www] pid 11877
2.script_filename = /usr/local/lnmp/nginx/html/www.quancha.cn/www/fyzb.php
3.[0xb70fb88c] file_get_contents() /usr/local/lnmp/nginx/html/www.quancha.cn/www/fyzb.php:2
通过日志,我们就可以知道第2行的file_get_contents 函数有点问题,这样我们就能追踪问题了。
;