PHP面试技能整理(未完成)

面试,准备复习一下相关技能

PHP

  1. 运行模式

    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运行模式

  2. 开发规范

    PHP PSR 标准规范 https://learnku.com/docs/psr

  3. oop思想

    面向对象程序设计(Object-oriented programming,OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针
    PHP 面向对象基础概念

  4. 异常处理

    在 PHP 里可以 throw 并捕获(catch)异常。为了捕获潜在的异常,代码会包含在 try 块里。每个 try 都必须至少有一个相应的 catch 或 finally 块。
    常见方法:
    getMessage(); // 异常信息
    getCode(); // 异常错误码
    getFile(); // 发生异常的源文件名
    getLine(); // 发生异常的源代码行号
    getTrace(); // backtrace() 数组
    getPrevious(); // 之前的 exception
    getTraceAsString(); // 已格成化成字符串的 getTrace() 信息

  5. 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-fpm进程调用

PHP框架

  1. Laravel

  2. Thinkphp

  3. Yii

  4. yaf

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!