
PHP模块
文章平均质量分 90
本兮言
“任何事情,没有坚持3个月,就没有发言权!没有坚持3年,就不能说自己懂!没有坚持7年,就不可能是专家!没有坚持10年以上,就不会拥有权威!没有坚持一辈子,就不可能有所成就!选择自己真正想做的事情,每天重复做,能坚持下来的人,定会成为某一领域的领航者。成功没有捷径,坚持才能成功!”
展开
-
PHP性能优化
1.什么情况下会碰到PHP性能问题? 1>PHP语法使用的不恰当 2>使用PHP做了它不擅长的事情 3>用PHP语言连接的服务不给力 4>php自身的短板 5>我也不知道的问题2.PHP的性能问题,一般的话不会占到整体项目性能问题比例的一半3.PHP的性能问题解决方向:PHP语言级的性能优化=》PHP周边问题的性能优化=》PHP语言自身分...原创 2019-02-22 18:48:49 · 3794 阅读 · 0 评论 -
读书笔记:高性能PHP应用开发 2019.3.4-至今
基准测试技术 1.PHP应用程序栈2.定义请求/响应生命周期 如图,一个简单的用户HTTP请求,它想Web服务器请求获取内容,依次经过用户的主路由器(如果有的话)、ISP网关和域名服务器(DNS),并且在DNS中会查找与请求的域名相关联的IP,然后到达具有指定IP的Web服务器,并最终请求Web程序生成特点内容 一旦到达Web服务器之后,通过获取并格式化用户请求数据来...原创 2019-03-05 15:08:12 · 321 阅读 · 0 评论 -
PHP输出缓冲区的总结
PHP输出缓冲区: 缓冲区:实际上是一个内存地址空间。它用来存储速度不同步的设备或者优先级不同的设备之间传输数据的区域。通过缓冲可 以使进程之间的交互时间等待变小,从而使从速度慢的设备读取数据时,速度快的设备的操作进程不发生间断 PHP的输出流包含很多内容,通常都是开发者要PHP输出的文本,这些文本大多是用echo或printf()函数来输出的 1>...原创 2019-02-26 15:59:26 · 2569 阅读 · 0 评论 -
读书笔记:PHP和MySQL高性能应用开发 (2019.2.20-2019.3.4)
1.emtpy、isset、is_null的区别isset()检测一个变量是否已声明且值不为NULL,并且声名一个变量没有赋值也算false,但是空字符串或者空格为true empty()用来检测一个变量是否为空,当变量为空字符串、false、空数组、null、0、‘’以及被unset删除后的变量 is_null()判断变量内容是否是null,是isset()函数的反函数,区别是i...原创 2019-03-04 15:46:10 · 833 阅读 · 0 评论 -
读书笔记:深入理解PHP高级技巧、面向对象、核心技术 二 (19.1.21-19.2.10)
设计模式1.单例模式:创建性模式,会限制应用程序,使其职能创建某一特定类类型的一个单一的实例 我们可以使用一个静态属性来保证对于一个特定的类来说只存在一个单一的实例 class Sc{ static private $_instance=NULL; static function getInstance(){ if(self::$_instance==NU...原创 2019-03-04 15:48:03 · 272 阅读 · 0 评论 -
读书笔记:PHP核心技术与最佳实践
第一章 面向对象思想的核心概念 面向对象是什么:面向对象(OOP)是一种程序设计范型,同事也是一张程序开发方法。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和可扩展性 面向过程、面向对象以及函数式编程呗称为编程语言中的三大范式(前两者同属于命令式编程) 类是对象的抽象组织,对象是类的具体存在 对象就是一堆数据,既然如此,可以把一个对象存储起来...原创 2019-04-15 13:06:40 · 2563 阅读 · 0 评论 -
php-fpm 三种运行模式
php-fpm配置配置文件:php-fpm.conf开启慢日志功能的:slowlog = /usr/local/var/log/php-fpm.log.slowrequest_slowlog_timeout = 5s当某个请求的时间超过了5秒,就会在慢日志中记录相应的记录,注意上面的时间5s,不能忽略了单位,相应的还有其他单位,m分,h时php-fpm慢日志会记录下进程...原创 2019-05-15 15:46:44 · 748 阅读 · 0 评论 -
Web的安全问题
1、XSS攻击(跨站点脚本攻击) 指黑客通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式 常见的XSS攻击类型有两种: 1、反射性 (url参数直接注入) 反射性:攻击者诱导用户点击一个恶意嵌入脚本的链接,达到攻击的目的 2、存储型(持久性) 存储型(持久性):攻击者提交含有恶意脚本的请求...原创 2019-06-10 23:24:13 · 2047 阅读 · 0 评论 -
PHP中fopen,file_get_contents,curl函数的区别和性能
在php中如果不仔细的去分析性能会发现file_get_contents与curl两个同很多共同点的,他们都可以采集文件打开文件,但是如果仔细一对比会发现很多不同点,下面我们一起来看看file_get_contents与curl区别。PHP中fopen,file_get_contents,curl函数的区别:1.fopen /file_get_contents 每次请求都会重新做DNS查询...转载 2019-02-22 10:58:55 · 1305 阅读 · 0 评论 -
PHP clone 浅拷贝和深拷贝
1.什么时候用到在多数情况下,我们并不需要完全复制一个对象来获得其中属性。但有一个情况下确实需要:如果你有一个 GTK 窗口对象,该对象持有窗口相关的资源。你可能会想复制一个新的窗口,保持所有属性与原来的窗口相同,但必须是一个新的对象(因为如果不是新的对象,那么一个窗口中的改变就会影响到另一个窗口)。还有一种情况:如果对象 A 中保存着对象 B 的引用,当你复制对象 A 时,你想其中使用的对象...原创 2019-01-29 16:58:40 · 724 阅读 · 0 评论 -
PHP常见缓存原理
知识结构: 1.从架构看缓存 2.文件类缓存 3.内存数据库之Memcached 4.内存数据库之Redis 5.浏览器缓存机制 6.服务器程序的缓存1.1缓存的目的 压力均分,减少对瓶颈环节的流量冲击 简化处理流程,提升整个流程的处理速度 持久化和固化数据1.2合理使用缓存 ...原创 2018-11-23 09:41:09 · 4801 阅读 · 0 评论 -
PHP五大运行模式
运行模式关于PHP目前比较常见的五大运行模式:1)CGI(通用网关接口/ Common Gateway Interface)2)FastCGI(常驻型CGI / Long-Live CGI)3)CLI(命令行运行 / Command Line Interface)4)Web模块模式(Apache等Web服务器运行的模式) 5)ISAPI(Internet Server Ap...原创 2018-03-21 13:04:32 · 1001 阅读 · 0 评论 -
PHP面试重点整理(一)
1、PHP语言的一大优势是跨平台,什么是跨平台?PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的限制,所以叫跨平台2、WEB开发中数据提交方式有几种?有什么区别?百度使用哪种方式?Get与post两种方式区别:GET产生一个TCP数据包;POST产生两个TCP数据包; 对...转载 2018-03-14 07:50:38 · 954 阅读 · 0 评论 -
PHP面试重点整理(二)
一、理论知识1.1、PHP里面是区分大小写的吗?PHP对于系统函数、用户自定义函数、类名称等是不区分大小写的PHP中的变量和常量是区分大小写的对于文件名又因服务器操作系统而定,linux中区分,Win不区分 1.2、$_POST,$HTTP_RAW_POST_DATA和 php://input的区别?$_POST:是获取表单POST过来数据,media type是“...转载 2018-03-14 07:51:13 · 759 阅读 · 0 评论 -
大话设计模式12.25-2.19(过年十五天没有更~偷个懒)
类的自动载入: 在PHP5.3以前使用__autoload()函数 function __autoload(){ require 类名} 最后被废除,因为PHP项目可能有多个框架,如果没有框架定义一个autoload的话,会报出定义冲突的问题在5.3之后 提出来 spl_autoload_register();<?phpspl_auto...原创 2019-02-19 14:02:26 · 224 阅读 · 0 评论 -
用PHP+Redis,实现延迟任务 实现自动取消订单,自动完成订单
简单定时任务解决方案:使用redis的keyspace notifications(键失效后通知事件) 需要注意此功能是在redis 2.8版本以后推出的,因此你服务器上的reids最少要是2.8版本以上;(A)业务场景:1、当一个业务触发以后需要启动一个定时任务,在指定时间内再去执行一个任务(如自动取消订单,自动完成订单等功能)2、redis的keyspace notifica...转载 2018-12-22 14:47:28 · 3551 阅读 · 2 评论 -
php session阻塞页面分析及优化 (session_write_close session_commit使用)
php 开发时一个启用了session_start()页面,由于执行时间过长,导致如果一个用户在访问,另一个用户启用session_start()的时候处于阻塞状态。直到第一个用户完毕 ,第二个才能启用。开始读取。这就是session阻塞。session 默认以文件保存,当一个用户访问session_start页面后。这个时候,就会默认创建一个包含 session_id文件名,并且这个时候...转载 2019-01-17 15:29:35 · 531 阅读 · 0 评论 -
读书笔记:深入理解PHP高级技巧、面向对象、核心技术 一 前六章
1.模块化一个Web网站 创建配置文件:定义常量、建立站点范围内的设置、创建用户定义函数、管理错误 例如:判断该脚本运行在测试环境还是真实运行的服务器 $host=substr($_SERVER['HTTP_HOST'],0,5); if(in_array($host,array('local','127.0','192.1'))){ $local=T...原创 2019-01-14 14:39:31 · 414 阅读 · 0 评论 -
一些高并发下web服务器http异常状态码分析
环境说明压测工具:apache/abweb服务器:NGINX/1.8.0 + PHP 5.6.25php脚本:get.php注:nignx 设置超时fastcgi_connect_timeout 60fastcgi_send_timeout 60fastcgi_read_timeout 60php-fpm 设置超时request_terminate_timeo...原创 2019-08-18 20:23:32 · 1163 阅读 · 0 评论