自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿远:

热爱本身就是一件有魅力的事情。

  • 博客(71)
  • 资源 (3)
  • 收藏
  • 关注

原创 超轻便的 Cache_Lite 文件缓存

Cache_Lite提供了快速,轻便和安全的缓存系统。它针对文件容器进行了优化,并且防止缓存损坏(因为它使用文件锁定和/或散列测试). 个人感觉还是挺方便的。Cache_Lite 官方参考地址。 Cache_Lite 缓存包下载地址。局部缓存:<?php header("content-type:text/html;charset=utf8"); 超轻便的 Cache_Lite 文件缓存

2017-03-24 20:11:11 621

原创 js实现观察者模式风格替换

如下图,我们看到两种风格:在选择男士时,页面颜色为黑色;在选择女士时,页面颜色为粉红色。 主要可以分为两类: 下拉框 ---》 被观察者 div ---》 观察者 面向过程实现风格替换:<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <titl

2017-03-24 18:49:10 280

原创 php八大设计模式之简介篇

设计模式的在面向对象中的重要性?      更深入的理解面向对象的思想,有利于开发出扩展性强的程序。在 PHP 面向对象中有一个 “开闭原则” :“软件实体应当对扩展开放,对修改关闭”。通俗的说: 添加新类/接口等进来行,修改不行。   1、工厂模式           简单点来说,就是用到什么类,就去实例化对应的类。比如:php 可能连接 mysql,可能连接 sqlserver

2017-03-24 17:00:27 426

原创 php八大设计模式之桥接模式

一个抽象产生多种具体的实现方式,单纯的通过子类继承会有子类爆炸(过多的子类产生)的现象,系统需要它们之间进行动态耦合。面向过程:<?php header("content-type:text/html;charset=utf8"); /** * 在一个网站中,我们都有给用户发通知消息的情况。比如有站内发送、 邮箱发送、及短信发送等等。 * 面向过程形式完成

2017-03-24 16:49:31 476

原创 php八大设计模式之适配器模式

将一个抽象被具体后的结果转换成另外一个需求所需的格式。 在生活中也处处有适配器的出现,比如转换头,就是让两种不同的规格合适的搭配在一起。<?php header("content-type:text/html;charset=utf8"); /** * 适配器就是将旧的结果(满足旧的要求的结果)转换成新的(新要求的 格式)。 */ ///比如

2017-03-24 16:33:40 334

原创 php八大设计模式之装饰器模式

我们都知道,得到一匹布需要大概这么几步: 1、染色 2、印花 3、裁剪 这种形式在面向对象中怎么实现呢?面向过程【继承模式】实现: 继承模式得到需要的布料,一步一步的加工。 继承的层次越来越深,扩展性差。如果中间加道其他程序,就有些吃力了。<?php header("content-type:text/html;charset

2017-03-24 16:28:42 920 2

原创 php八大设计模式之策略模式

策略模式提供一个虚拟的整体,根据不同的要求(参数)提供不同的“零件”(调用不同的“零件”实现不同的结果)。<?php /** * 策略模式 * 跟工厂模式差别不大,用到谁就去实例化谁。 * * 工厂模式,着眼于得到对象,并操作对象。 * 策略模式,着重得到对象某方法的运行结果。 */ //计算器接口。 inte

2017-03-24 16:17:58 626

原创 php八大设计模式之观察者模式

例如在登录时,需要判断用户是第几次登录,登录过于频繁我们就给用户提示异常。根据用户的爱好,在用户登录后给予相应的猜你喜欢。如果都在 登录时判断密码的方法内完成,不符合面向对对象的单一职责。那我们该怎么完成呢? php 在 5.1 之后有自带的 --> 观察者 observer 和 被观察者 subject 接口。 观察者模式分为观察者、与被观察者。观察者时刻监听被观察动态,及时做出相应改

2017-03-24 16:09:40 365

原创 php八大设计模式之职责链模式

当发生一种事情时,我们需要要对应职责的事物去处理对应的事情。 或者去找最近的类(就是级别最低的)去解决,如果解决不了就顺着往上找职责更高的,直到解决为止。 注意:一定是要有一个职责最高的类,否则会有问题。例子: 比如某同学骂人,我们要告诉纪委;旷课我们要告诉班长;打架我们要告诉班主任。不同情况对应不同的人,产生的结果也是不同的,在 php 中我们是怎么实现的呢?<?php /*

2017-03-24 15:43:59 315

原创 php八大设计模式之工厂模式

简单点来说,就是用到什么类,就去实例化对应的类。比如:php 可能连接 mysql,可能连接 sqlserver,也可能是 oracle 数据库,可以动态的去链接。 书籍<php权威编程>(英文名称为PHP 5 Power Programming)也提到一个工厂模式的例子:在为用户注册的时候,分为很多种角色的用户。比如册用户,匿名用户、管理员用户等。完全使用可以使用工厂的思想来实现,代码也容易维

2017-03-24 15:05:53 467

原创 简单的方法实现文件下载

$file_size=filesize(文件路径); $fp=fopen(文件路径,'r'); //只读模式打开 Header("Content-type:application/octet-stream"); Header("Accept-Ranges:bytes"); Header("Accept-Length:".$file_size); Header("Content-Disposition

2017-03-23 16:08:25 636

原创 php八大设计模式之单例模式

单例模式的好处: 实例化后只得到一个对象,减少内存的开销。实现单例模式: 一、提供一个私有的属性用来存储实例后的对象。 二、禁止外部实例化对象,提供公共的的方法,返回实例化后的对象。 三、避免继承此类,然后重写子类的方法,加大方法的权限。 四、避免克隆此类。

2017-03-23 13:34:42 612

原创 linux上将另一个文件内容快速写入正在编辑的文件内

一、我们看到 www 目录下有两个文件。like.php 内有一行字母,而 loo.php 内什么也没有。二 、我们来编辑 loo.php。 三、用下面的命令将 like.php 的内容复制到 loo.php 内。四、loo.php 内的文本将和 like.php 一模一样。

2017-03-22 19:00:10 410

原创 mysql的关联查询简写

平常的内连接查询:SELECT * from ab_style as a INNER JOIN ab_url as b on a.style_bold=b.url_id可支持简写风格:select * from ab_style as a,ab_url as b where a.style_bold=b.url_id

2017-03-22 15:31:58 1464

原创 nginx反向代理配置

反向代理【俗称动静分离】, nginx不自己处理php的相关请求,而是把php的相关请求转发给apache来处理.配置方式: 一、先去修改php,使得 php 成为 apache 的一个模块。 cd /usr/local/src/ src》cd php-5.6.30 php-5.6.30》make clean php-5.6.3

2017-03-22 14:21:15 193

原创 使得nginx支持pathinfo访问模式

原理:    任意创建一个 in.php 文件:                                  echo '';                      var_dump($_SERVER);               ?>     localhost/in.php/a/b/c    apache 用此 url 访问,会打印 pathinfo 模式信

2017-03-22 14:09:55 255

原创 nginx直接连接操作memcache

原理:    Nginx 要设定一个 key 去查 mem ,如果没查到,要有一个回调 php ,并且 key 传给 php。  配置方式:    server{             location / {                     set $memcached_key "$uri";                   #192.168.1.200

2017-03-22 14:08:15 481

原创 linux上编译好的php添加memcache扩展

cd /usr/local/src/src》wget http://memcached.org/files/memcached-1.4.35.tar.gzsrc》tar -zxvf memcached-1.4.35.tar.gzsrc》cd memcached-1.4.35memcached-1.4.35》/usr/local/fastphp/bin/phpize       

2017-03-22 14:06:10 200

原创 nginx 实现负载均衡

原理:     问:反向代理后端如果有多台服务器,自然可形成 负载均衡。但 proxy_pass 如何指向多台服务器?     答:把多台服务器用 upstream 绑定在一起并起个组名,然后 proxy_pass 指向该组。默认的负载均衡算法是一个一个的请求,俗称轮询。也可以配置成加权轮询。    问:反向代理导致了后端服务器 日志中存储的访问 ip 为前端接受请求的服务器 ip,而

2017-03-22 14:04:09 204

原创 nginx的gizp压缩

好处:        页面另存为大小比浏览器传输大小大很多。好处是加快传输、节省带宽。 原理:          浏览器 -> 请求 -> 声明可以接受的压缩方式【http 协议请求头有个 acceopt-encoding 是指支持的压缩算法】                     服务器 -> 回应 -> 把内容 gzip 方式压缩 -> 发送给浏览器 -> 解码 gz

2017-03-22 14:01:08 240

原创 为什么 linux 上不能用 localhost 链接数据库?

因为 linux 连接的时候不是通过 tcp 协议,而是通过 sockect 来连接。所以 写localhost 之后就会默认去找 sockect 链接【此文件在 /var/lib/mysql/mysql.sock】。所以要用 ip【127.0.0.1】来连接,强制让它走 tcp 协议。        如果想强制用 localhost 链接:                vim

2017-03-22 13:59:10 3761

原创 如何使 nginx 支撑更高并发

/** * * * * 如何使 nginx 支撑更高的并发? * 原理: * 服务器方面可以从两个方面阐述: * 1、socket 链接方面:因为每次请求都是一次连接,而 nginx 服务器配置方面默认没有配置那么高的连接数,所以先要加大 nginx 的连接数。【要求内存要大】。 * 2、文件打开方面:nginx 能否一次性被打开那么多的

2017-03-22 13:53:24 1369

原创 linux傻瓜式安装lnmp

一、百度 https://lnmp.org/install.html二、点击 《安装》三、登录 linux        cd /usr/local/        wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full &&

2017-03-22 13:11:50 290

转载 PHP7内核剖析之执行流程

以fpm为例:1、fpm启动时,会先执行 module_startup, 并随着fpm进程常驻2、当一个请求到达之后,会执行 request_startup, 进行一些请求初始化工作,然后执行代码(execute_script), 最后,执行request_shutdown,把结果flush, 并做一些收尾工作3、当我们关闭fpm或reload fpm的时候,会执行module_shutdown

2017-03-22 13:05:21 346

原创 微信企业号开发之自定义菜单

一、登录到开放平台,进入开发者中心。二、点击自定义菜单选择创建菜单,发现需要 access_token 和 应用 id。三、去获取 access_token,应用 id 在 微信企业号开发平台《应用中心》的对应应用里。但是获取 access_token 还需要 corpid 和 corpsecret。四、获取 access_token 还需要 corpid 和 corpsecret。要去权限管理创建

2017-03-22 12:53:38 6880

原创 微信的企业号开发流程

一、进入微信企业号开发官网 https://qy.weixin.qq.com/ 然后登陆,进入《应用中心》 二、选择新建应用的类型 三、填写必要的应用信息。 四、使用回调模式开发。 五、下载对应的语言 demo,填写线上地址。选择生成 token、aeskey 写在 demo 中 六、进入接口文档 —-> 下载 demo 的位置。 七、选择 php demo 开发。将压缩包解压,在线下

2017-03-22 11:48:47 1906

原创 nginx设置可以默认访问index.php

vim /usr/local/nginx/conf/nginx.conf:     在 location /{               index index.php index.html index.htm                                   //添加了一个 index.php 【保存,重读配置即可。再次 url 只访问目录就会尝试去找 index.p

2017-03-21 14:31:50 15154

原创 编译php并与nginx整合

告诉 Nginx 如何处理 php 文件:         nginx》vim  conf/nginx.conf                    location ~ \.php${                         root html;                         fastcgi_pass 127.0.0.1:9000;        

2017-03-21 13:55:50 300

原创 nginx的Rewrite重写

location /{               if ($remote_addr=192.168.1.100){                          //禁止此 ip 访问                    return 403;               }               root /usr/local/html;            

2017-03-21 13:50:33 202

原创 关于 nginx 的配置的 location

精准匹配和普通匹配:   server{           location =/index.htm{                                       ////精准匹配                   root /var/www/html                                  ////root 指向的目录 也可以写在外面,这

2017-03-21 13:49:24 583

原创 nginx配置虚拟域名

/usr/lcoal/nginx/conf/nginx.conf 配置详解如下:worker_processes   1;                                                            //有一个工作的子进程,可以修改,但太大无益。因为要争夺CPU,一般为 CPU*核数。events{        worker_connecti

2017-03-21 13:47:14 339

原创 nginx省去每次查看进程操作

在我们想要关闭、重启等操作时需要查看 nginx 的进程,那么有没有一种方法省去查看的步骤?                                 kill -HUP `cat logs/nginx.pid`                      //进程号存在 logs/nginx.pid 里,cat logs/nginx.pig 会返回当前进程号。注意:一定要反引号引住。

2017-03-21 13:45:31 239

原创 nginx旧版本升级新版本

比如我们现在所用的是 nginx 是1.4 版本,过了一段时间后我们有新的稳定版 1.6 问世,我们想升级到新的版本怎么办?          1、把新版本解压、安装,然后将 sbin/nginx 日志文件替换成新的          2、这时候我们就需要重启 nginx 让用户访问新的 nginx 了:               kill -USR2 -WINCH 进程号   

2017-03-21 13:40:12 968

原创 shell脚本备份nginx日志

vim /data/runlog.sh                                                  #编辑一个 shell 脚本#!/bin/bashLOGPATH=/usr/local/nginx/logs/z.cn.access.log                  //日志的路径BASEPATH=/data/$(date -d yes

2017-03-21 13:37:55 474

原创 Nginx的日志管理

vim /usr/local/nginx/conf/nginx.conf                                  #编辑 nginx 配置文件    server{                                                                   #在 server 中配置。               l

2017-03-21 13:34:10 385

原创 Nginx的日志备份操作

正常情况下,我们给一个日志文件做备份。通常会 mv access.log access.log.0313 ,之后创建一个新的 touch access.log  会认为是备份完成了:旧的日志文件已成为备份,新的文件用来存储新的访问信息。但是不是这样的,在 linux 上其实每个文件对应的是一个节点【 inode 节点 】,在开启进程后,系统会一直向文件对应的节点一直写入数据。即使我们修改了文件名、

2017-03-21 13:30:42 850

原创 Nginx的常用命令

nginx除了命令行可以操作还可以通过信号操作。     开机:            ./sbin/nginx        信号模式操作:           ps aux|grep nginx           kill -INT 进程号                             //暴力杀死           kill -QUIT 进程号   

2017-03-21 13:27:22 197

原创 Nginx的编译与安装

nginx.org 下载最新版本【选择 stable 稳定版】。安装步骤:1、cd /usr/local/src/2、wget http://nginx.org/download/nginx-1.10.3.tar.gz3、tar -zxvf nginx-1.10.3.tar.gz4、cd nginx-1.10.35、yum install pcre           

2017-03-21 13:23:44 265

原创 yii2.0中使用jquery

我们都知道 yii 框架是组件式开发的,使用 jquery 也是非常简单的。只需要注册一下就可以使用非常简单的 jquery 代码了!beginBlock('suibian') ?>$("#old_3").click(function(){ $.get("url",function(msg){alert(msg);});});endBlock() ?>registerJ

2017-03-18 11:54:53 915

原创 利用第三方类 phpmailer 发邮件

第一、百度一下 phpmailer 随便找个 girhub 网站 download 下来即可。第二、复制如下代码放在项目根目录,填写完整你的账号信息,即可发送邮件。就是这么简单!<?phpheader("content-type:text/html;charset=utf-8");ini_set("magic_quotes_runtime",0); //关闭系统自动给文本数

2017-03-17 15:40:14 538

Default.sublime-package

Default.sublime-package

2017-06-19

memcache.zip

memcache安装包以及memcache的php扩展,还有window下的安装方式。

2017-03-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除