- 博客(11)
- 收藏
- 关注
转载 php变量之写时复制机制
转载自LYC的博客编程思想虽然可以共用,不过语言间的差异还是比较明显的,只是使用者之间没有意识到而己,而了解其中的差异对于编写程序以及把握性能还是有好处的。下面我们来介绍下PHP的一个很重要的机制copy on write,我们先以最简单的变量来介绍这个机制,在说这个之前,笔者先来介绍下弱类型是怎么实现的。大家都知道,PHP是由C实现的,可是C是强类型语言,PHP怎么做到弱类型语言。一起来...
2018-04-14 11:47:12
562
原创 PHP 对于session的auto start和session的过期时间的错误认识
1.关于session_start 以前一直认为如果不调用session_start()或者如果不设置session.auto_start我们就用不了session这个超全局数组。其实是错的,session_start()和session.auto_start开启的是将程序运行的时候的session数据持久化到session文件中的机制。如果没有session_start()或session.
2017-11-14 11:34:58
463
原创 git中checkout与reset在撤销操作中的应用
我们在使用git的时候在所难免的会遇到要把代码还原到以前的某个版本的情况。一般在git中有关撤销操作的命令有两个,checkout和reset。先说checkout。我首先要说的是,checkout一定会改变工作区中的代码。常用的有关撤销操作的命令有: git checkout -f 用版本库里的代码强行刷新暂存区与工作区,执行完以后work tree是“干净的”。 git checkout H
2017-11-14 10:41:04
433
原创 PHP中flush()与ob_flush()的区别
首先先讲一下缓冲区,从http请求开始到将数据展现在屏幕上,数据有可能经过以下的缓冲区:php缓冲区,sapi(fast-cgi,cli等)缓冲区,浏览器缓冲区等。 php缓冲区可以理解为php自带的数据输出缓冲期,在php的配置文件中,有如下设置 其中out_buffering默认大小为4k,也就是说如果我们的输出数据小于4k时,数据会先放到缓冲区并不会立即输出。等到数据攒足了4k在一起输
2017-11-14 10:30:09
847
原创 PHP 设计模式之单例模式
单例模式顾名思义,在程序运行的整个周期,某一个类只有一个对象被实例化。那么它是怎么实现的呢?以下面的例子来说明。class illustrator{ public $name; private static $instance; private function __construct() {} private function __clone() {} p
2017-10-18 23:26:21
251
原创 Vagrant 导出自己的box
我们在vagrant的虚拟机下面进行了一些操作之后想把它导出作为备份,为的是以后在别的机器上安装完vagrant以后可以立即导入自己熟悉的box进行开发。步骤如下: 1.运行 vboxmanage list vms 命令,可以看出我们的vagrant下的虚拟机列表(我的虚拟机只有一个box,“newbox_default_1503366286622_12977“。) 2.运行 vagrant
2017-10-18 09:50:12
7512
原创 PHP 中cgi,fastcgi,php-fpm的区别
1.CGI CGI(Common Gateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。因我们可以把CGI当成一个协议或者”规则“,任何CGI程序(无论是php,python,node.js等)与任何的web server(apache,nginx
2017-10-16 16:19:58
354
原创 PHP Class Autoload 的几种方法
我们在写代码的时候经常会用到类的自动加载,下面我就总结了php中类的自动加载的方法。 1.使用__autoload函数 比如我想加载/usr/local/lib/目录下的类function __autoload($className){ $path = '/usr/local/lib/'; $file = $path.$className.'php'; requir...
2017-10-16 15:32:58
645
原创 Git 更新后出现Fatal: TaskCanceledException encountered.的解决方法
git 更新完以后在push到github上的时候出现了Fatal: TaskCanceledException encountered.的错误。 解决方法如下: git config –global credential.helper manager 之后再push一切正常
2017-10-13 18:40:25
16176
3
原创 php使用redis存放session
redis是现在非常流行的no sql数据库,下面简单的介绍一下怎样在redis中存放php的session。1.必须安装了php,redis以及php-redis扩展。这里补充一下,以前php5的redis扩展是没有办法用到php7的。php7的redis扩展请到这里下载.2.在php.ini中修改如下两项session.save_handler = redissession
2017-09-20 09:29:37
571
原创 php中is_null,isset,empty的总结
在php中这三个函数很容易混淆,但是在开发中以及面试的笔试中会经常遇到,在这里就总结一下。当变量 $a=null时程序结果为is_null($a) trueisset($a) falseempty($a) true当变量 $a=‘’(空字符串)时程序结果为is_null($a) falseisset($a) trueempty($a) t
2017-09-17 22:17:36
323
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人