PHP面试技能整理(未完成)
面试,准备复习一下相关技能
PHP
运行模式
1.CGI(通用网关接口 / Common Gateway Interface)
2.FastCGI(常驻型 CGI / Long-Live CGI)FastCGI 进程管理器(FPM)
3.CLI(命令行运行 / Command Line Interface)
4.LoadModule【Apache 独有】
5.ISAPI(Internet Server Application Program Interface)【IIS 独有】FastCGI的优劣势:
优势:
从稳定性上看,FastCGI 是以独立的进程池来运行 CGI,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑
从安全性上看,FastCGI 和宿主的 web Server 完全独立,FastCGI 不会影响 web 服务器的运行【如果 PHP-FPM 处于关闭状态,则会返回 502 bad gateway 给用户】
从性能上看,FastCGI 把动态逻辑的处理从 web Server 中分离出来,大负荷的 IO 处理还是留给宿主 Server,这样宿主 Server 可以一心一意作 IO【对于一个普通的动态网页来说,逻辑处理可能只有一小部分,更多的是图片等静态资源的加载】
劣势:
一个 fast-cgi 子进程同一时间只能处理一个请求,所以网站的并发性能就受限于子进程数量
如果开启的进程过多,会导致 CPU 将大量的时间浪费在进程的上下文切换上。
每次请求 fast-cgi 子进程都需要重新加载相关资源,请求结束需要释放资源详细总结 认识PHP运行模式
开发规范
oop思想
面向对象程序设计(Object-oriented programming,OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针
PHP 面向对象基础概念异常处理
在 PHP 里可以 throw 并捕获(catch)异常。为了捕获潜在的异常,代码会包含在 try 块里。每个 try 都必须至少有一个相应的 catch 或 finally 块。
常见方法:
getMessage(); // 异常信息
getCode(); // 异常错误码
getFile(); // 发生异常的源文件名
getLine(); // 发生异常的源代码行号
getTrace(); // backtrace() 数组
getPrevious(); // 之前的 exception
getTraceAsString(); // 已格成化成字符串的 getTrace() 信息php-fpm
进程管理模式:
模式:ondemand(触发建立worker)、static(按需固定数量worker)、dynamic(初始一定数量,按策略增加减少)1秒定时器作用:检查空闲worker数量,按照一定策略动态调整worker数量,增加或减少。增加时,worker最大数量<=max_children· <=全局process.max;减少时,只有idle >pm.max_spare_servers时才会关闭一个空闲worker。
idle > pm.max_spare_servers,关闭启动时间最长的一个worker,结束本次处理,
idle >= pm.max_children,打印WARNING日志,结束本次处理,
idle < pm.max_children,计算一个num值,然后启动num个worker,结束本次处理
PHP框架
Laravel
Thinkphp
Yii
yaf
本作品采用《CC 协议》,转载必须注明作者和本文链接