- 博客(17)
- 收藏
- 关注
转载 CGI、FastCGI和PHP-FPM关系工作原理及区别
当Web Server收到 index.php 这个请求后,会启动对应的 CGI 程序,这里就是PHP的解析器。接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程,Web server再把结果返回给浏览器。这就是一个完整的动态PHP Web访问流程,接下来再引出这些概念,就好理解多了,CGI:是 Web Server 与 Web Application 之间数据交换的一种协议。FastCGI:同 CGI,是一种通信协议,但比
2021-03-17 10:42:02
188
1
转载 PHP生命周期
PHP生命周期 PHP整个生命周期可以被划分为以下几个阶段:模块初始化阶段、请求初始化阶段、脚本执行阶段、请求关闭阶段、模块关闭阶段。根据不同的SAPI的实现,各阶段的执行情况会略有差异。比如命令模式下,每次执行一个脚本都会完整地经历这些阶段,而FastCgi模式下则在启动时执行一次模块初始化。 现在具体介绍下这5个阶段: 1、php_module_startup() 模块初始...
2021-03-17 10:40:44
507
原创 php接口 抽象类
一 面向对象1.封装继承多态2.抽象类定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。(抽象类可以没有抽象方法,但是抽象类依然不能被实例化)被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。 如 abstract class AbstractClass { // 强制要求子类定义这些方法,且不能定义具体功能 注意没有大括号{} abstract protected functio
2021-03-16 10:14:06
178
原创 PHP 延迟静态绑定 功能
从这个名字的定义提取出两个关键点,第一点静态,也就是说这个功能只适用于静态属性或静态方法。第二点延迟绑定,这个根据下面代码就可以很好的理解看一下这个例子:class A{ static $name = "Tom"; public function printName(){ echo self::$name."\n"; self::fun(); } static function fun(){ echo "A Class
2020-11-11 15:38:44
205
原创 php各大框架比较
ThinkPHPThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。 ThinkPHP的宗旨是简化开发、提高效率、易于扩展,其在对数据库的支持方面已经包括MySQL、MSSQL、Sqlite、PgSQL、 Oracle,以及PDO的支持。ThinkPHP有着丰富的文档和示例,框架的兼容性较强,
2020-11-03 16:38:40
1131
原创 HTTP、TCP的关系及状态码
一、基本概念1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。建立起一个TCP连接需要经过“三次握手”:* 第一次握手:客户端向服务器发送请求报文段,其中同步位SYN=1,序号SEQ=x(表明传送数据时的第一个数据字节的序号是x),等待服务器确认;* 第二次握手:服务器收到客户端发来的请求,如果同意建立连接,...
2020-11-02 16:38:07
932
2
原创 php 常用字符串
长度strlen($string):得到字符串长度字符串查找strpos($string,$search[,$offset]):在指定字符串中查找目标字符串第一次出现的位置stripos($string,$search[,$offset]):忽略大小写的去查找strrpos($string,$search[,$offset]):在指定字符串中查找目标字符串最后一次出现的位置strripos($string,$search[,$offset]):忽略大小写的去查找最后一...
2020-10-15 15:07:38
123
原创 php数组总结
array_key_change_case($arr,$case):将数组所有的键转化为大写或者小写,$case可设为CASE_LOWER或者CASE_UPPER。array_column($arr,$column):返回数组中某一个单列的值。array_diff($arr1,$arr2):返回两个数组的差集(只比较键值)array_diff_key($arr1,$arr2):返回两个数组的差集(只比较键名),该数组返回在$arr1中,但不在 $arr2中的元素。array_intersec
2020-10-14 16:40:38
121
原创 php5与php7的区别点总结
php5与php7之间的区别:1、性能提升:PHP7比PHP5.0性能提升了两倍。2、以前的许多致命错误,现在改成抛出异常。3、PHP 7.0比PHP5.0移除了一些老的不在支持的SAPI(服务器端应用编程端口)和扩展。4、PHP 7.0比PHP5.0新增了空接合操作符。5、PHP 7.0比PHP5.0新增加了结合比较运算符。$abc = isset($_GET['name'])?$_GET['name']:'abc'; // 5.+ $abcd = $_GET['name']
2020-10-14 16:14:36
579
转载 thinkPHP5.0如何实现excel导入导出?(代码示例)
本篇文章给大家带来的内容是介绍thinkPHP5.0如何实现excel导入导出?(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。excel导入导出引第三方的phpexcel类库放到 ThinkPHP\Library\Vendor\demo下,自己建的文件夹demo再将Excel.class放到ThinkPHP\Library\Org\class下,自己建...
2018-10-30 13:58:58
702
原创 带你了解session和cookie作用原理区别和用法
这篇文章主要介绍了session和cookie的作用原理、区别及用法,以及使用过程中的优缺点,通过列举erzhi二者之间的区别和原理,让大家更能轻易理解二者之间的区别,需要的朋友可以参考下,如有问题欢迎指出cookie概念在浏览某些 网站时,这些网站会把一些数据存在客户端,用于使用网站等跟踪用户,实现用户自定义功能.是否设置过期时间: 如果不设置 过期时间,则表示这个 Cookie生命...
2018-02-09 15:47:39
245
原创 mysql find_in_set 和in 的区别及使用
之前做项目需要从一个字段中查找出该字段值中的某个数据(字段类型为字符串,存储的格式为(1,2,3,4))我需要的是查出该字段中包含6的所有数据,那么我们就用到了find_in_set 这个函数select * from 表名 where find_in_set(6,字段名)接下来详细给大家介绍一下 find_in_set 和 in 之间的区别测试代码: CREATE TABLE `te...
2018-02-09 15:34:23
3498
原创 运用fancybox的方式弹出播放视频
fancybox是一款基于jquery开发的插件fancybox特点:1.可以支持图片、html、flash动画、iframe、ajax;2.可以自定义播放器的css样式;3.可以以组的形式播放;4.如果将鼠标滚动插件包含进来的话还能支持鼠标滚动来翻阅图片;5.fancybox播放器支持投影,更有立体的感觉;fancybox可以弹出很多窗体,甚至一个swf格式的小视频。但这样的swf视频播放的时候...
2018-02-09 15:14:20
3578
原创 linux 计划任务备份数据库
启动计划任务 crontab crond start停止计划任务 crontab crond stop进入计划任务的编辑模式crontab -e在里面添加02 * * * * /usr/local/mysql/bin/mysqldump -u*** -p*** 数据库名 > /data/a.sql分别为 分 时 日 月 周minute: 表示分钟,可以是从0到59之间的任何整数(每分...
2017-05-03 19:14:17
949
原创 搭建流媒体服务器实现直播nginx-rtmp-module
欢迎大家来此浏览,希望大家一块在此学习,共同交流进步。接下来我就简单跟大家介绍一下利用nginx来搭建流媒体服务器。我选择的是腾讯云服务器1、下载nginx-rtmp-module:nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module使用命令:git clon
2017-04-18 08:29:06
2803
1
原创 MySQL中EXPLAIN解释
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explain select surname,first_name form a,b where a.id=b.id EXPLAIN列的解释:table:显示这一行的数据是关于哪张表的type:这是重要的列,显示连接
2017-04-17 11:54:52
331
原创 php 魔术方法总结
1、__get、__set这两个方法是为在类和他们的父类中没有声明的属性而设计的__get( $property ) 当调用一个未定义的属性时访问此方法__set( $property, $value ) 给一个未定义的属性赋值时调用这里的没有声明包括当使用对象调用时,访问控制为proteced,private的属性(即没有权限访问的属性)2、__isset、__unset
2017-04-15 09:00:38
290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人