自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

halay

做一个行者

  • 博客(50)
  • 收藏
  • 关注

转载 Flex布局

一、Flex布局是什么?Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。.box{ display: flex;}行内元素也可以使用Flex布局。.box{ display: inline-flex;}Webkit内核的浏览器,必须加上-webkit前缀。.box{ ...

2019-06-11 10:38:53 155

转载 PHP中防止SQL注入的方法

【一、在服务器端配置】       安全,PHP代码编写是一方面,PHP的配置更是非常关键。我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行 php能够更安全。整个PHP中的安全设置主要是为了防止phpshell和SQL Injection的攻击,一下我们慢慢探讨。

2017-11-05 18:10:33 1245

原创 简单谈一下git的用法

git是分布式的版本控制器,每个人的电脑都有一个完整的版本库。Windows下要使用很多Linux/Unix的工具时,需要Cygwin这样的模拟环境,Git也一样。Cygwin的安装和配置都比较复杂,就不建议你折腾了。不过,有高人已经把模拟环境和Git都打包好了,名叫msysgit,只需要下载一个单独的exe安装程序,其他什么也不用装,绝对好用。msysgit是Windows版

2017-05-18 11:32:05 443

转载 MySQL大数据量分页SQL语句优化

分页程序原理很简单,这里就不多说了,本篇文章主要说的是在数据表记录量比较大的情况下,如何将分页SQL做到更优化,让MySQL执行的更快的方法。一般的情况下,我们的分页SQL语句是这样的:查看代码  打印1SELECT * FROM table ORDER BY id LIMIT 1000,10;

2017-05-16 12:03:47 757

转载 centos安装svn并配置钩子同步到www目录

1、安装svn#yum install mod_dav_svn subversion  2、建立 SVN的根目录#mkdir -p /opt/svn/ 3、建立一个数据仓库#mkdir -p /opt/svn/wwwroot/ #svnadmin create /opt/svn/wwwroot/ 4、修改配置文件 标粗

2017-05-16 11:55:27 380

转载 centos简单搭建git服务端

注意事项:1、Git常用的客户端管理工具有sourcetree、TortoiseGit,个人比较喜欢sourcetree2、按照本文装的git服务端如果需要创建用户得在命令行操作,也可部署gitlab开源项目实现在web端进行管理用户3、如果觉得麻烦不想自己部署,也可直接把代码推广到github上本人采用的是virtualbox虚拟机,服务端系统cent

2017-05-16 11:54:40 317

转载 30个php操作redis常用方法代码例子

注意事项:1、Redis分服务端和客户端,set和get是针对单个字符串2、list类型、string类型操作类似PHP的数组操作 这篇文章主要介绍了30个php操作redis常用方法代码例子,本文其实不止30个方法,可以操作string类型、list类型和set类型的数据,需要的朋友可以参考下 redis的操作很多的,以前看到一个比较全的博客,但是现在找不

2017-05-16 11:52:57 270

转载 redis限制单ip、单用户的访问次数

有时候我们需要限制一个api或页面访问的频率,例如单ip或单用户一分钟之内只能访问多少次 类似于这样的需求很容易用Redis来实现[php] view plain copy$redis = new Redis();    $redis->connect('127.0.0.1', 6379);   $redis->auth(

2017-05-16 11:51:53 1322

转载 centos定时备份mysql数据库 用shell脚本实现

数据很重要,上线的项目必须数据库做到定时备份数据量小的可用如下方法,下面的是全量备份,数据量大的肯定行不通的,这时可用mysql主从复制了注意事项:1、shell脚本的mysqldump命令必须使用绝对路径,首先用find / -name 'mysqldump' 找到真实绝对路径,否则备份出来文件0kb 2、在终端用不需加目录,说明安装的时候已经放入系统bin全

2017-05-16 11:49:52 370

转载 centos安装vsftp ftp服务端

一、vsftp安装篇# 安装vsftpdyum -y install vsftpd# 启动service vsftpd start# 开启启动chkconfig vsftpd on二、vsftp相关命令之服务篇# 启动ftp服务service vsftpd start# 查看ftp服务状态service vsftpd st

2017-05-16 11:47:14 260

转载 crontab定时执行php脚本备份数据库

用crontab定时执行PHP脚本来备份数据库,简单的写了个实例:db_backup.php代码:[php] view plain copydate_default_timezone_set ('Asia/Shanghai');  $cfg_dbuser="root";  $cfg_dbpwd="123456"

2017-05-16 11:44:59 280

转载 Nginx/LVS/HAProxy负载均衡软件的优缺点详解

PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的

2017-05-16 11:40:28 295

转载 借助LVS+Keepalived实现负载均衡

一、负载均衡:必不可少的基础手段1.1 找更多的牛来拉车吧  当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等。古人有云:当一头牛拉不动车的时候,不要去寻找一头更强壮的牛,而是用两头牛来拉车。  

2017-05-16 11:39:20 341

转载 LVS 工作模式以及工作原理

LVS 简介         LVS 是 Linux  Virtual Server ,Linux 虚拟服务器;是一个虚拟的服务器集群【多台机器 LB IP】。LVS 集群分为三层结构:负载调度器(load balancer):它是整个LVS 集群对外的前端机器,负责将client请求发送到一组服务器[多台LB IP]上执行,而client端认为是返回来一个同一个IP【通常把这

2017-05-16 11:36:22 336

转载 PHP程序员进阶学习书籍参考指南

【初阶】(基础知识及入门)01. 《PHP与MySQL程序设计(第4版)》  http://item.jd.com/10701892.html02. 《深入浅出MySQL 数据库开发 优化与管理维护 第2版》 http://item.jd.com/11381295.html 03. 《实战Nginx:取代Apache的高性能Web服务器》 http://dwz.cn/2K1ry

2017-05-16 11:17:58 1272

转载 centos部署lvs+keepalived+apache/tomcat实现高性能高可用负载均衡

前言:常用的负载均衡软件有lvs、haproxy、nginx,一般lvs和keeplavied一起使用lvs是实现负载均衡作用的,即将客户端的需求采用特定的负载均衡算法分发到后端的web应用服务器上,keepalived是用来实现高可用的,即保证主lvs宕机后,从lvs可以在很短时间顶上,从而保证了系统或网站的稳定性注意事项1、虚拟ip不需物理机,设置ip前先本机ping以

2017-05-16 10:55:57 502

转载 centos完美搭建redis3.0集群并附测试

线上的统一聊天和推送项目使用的是Redis主从,redis版本2.8.6redis主从和MySQL主从目的差不多,但redis主从配置很简单,主要在从节点配置文件指定主节点ip和端口:slaveof 192.168.1.197 6379,然后启动主从,主从就搭建好了redis主从中如果主节点发生故障,不会自动切换,需要借助redis的Sentinel或者keepalive来实现主的故障转移

2017-05-16 10:53:16 363

转载 mysql分库分表实战及php代码操作完整实例

当单表达到几千万时,查询一次要很久,如果有联合查询,有可能会死在那分库分表主要就是解决这个问题,减小数据库的负担,缩短查询时间分库:1)按功能分用户类库、商品类库、订单类库、日志类、统计类库...1)按地区分每个城市或省市一个同样的库,加上后缀或前缀如:db_click_bj、db_click_sh...分表:1、横向分表 解决表记录太大问题1)按某个字

2017-05-16 10:41:35 1228

转载 php安全模式 safe_mode

php安全模式:safe_mode=on|off启用safe_mode指令将对在共享环境中使用PHP时可能有危险的语言特性有所限制。可以将safe_mode是指为布尔值on来启用,或者设置为 off禁用。它会比较执行脚本UID(用户ID)和脚本尝试访问的文件的UID,以此作为限制机制的基础。如果UID相同,则执行脚本;否则,脚本失败。具体地,当启用安全模式时,一些限制将生效。1、所有输

2017-05-08 14:12:01 1564

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

//策略模式//1.去上班选择交通工具//去上班的接口interface work{ public function go();}//通过坐地铁class subway implements work{ public function go(){ echo 'subway go work'.""; }}//通过公交class bus implements wo

2017-04-26 18:04:33 245

转载 设计模式之观察者模式

<?php//1.有一个主题接口,提供观察者注册和通知的//2.有一堆观察者,观察者先向主题注册,然后主题通知观察者干什么//主题接口interface Subject { public function register(Observer $observer); public function notify();}//观察者接口interface Observer { pub

2017-04-26 15:38:46 286

转载 php 设计模式之工厂模式

Interface Transport{public function go();}class Bus implements Transport{ public function go(){ echo "Bus很慢,很拥挤"; }}class Car implements Transport{ public function go(){ echo "Car 很快,舒适

2017-04-26 15:35:37 258

转载 进程和线程的区别

1. 基本概念作业:用户在一次解决或是一个事务处理过程中要求计算机系统所做的工作的集合,它包括用户程序、所需要的数据集控制命令等。作业是由一系列有序的步骤组成的。作业的完成要经过作业提交、作业收容、作业执行和作业完成4个阶段。在执行一个作业可能会运行多个不同的进程。进程:程序在一个数据集上的一次运行过程。是操作系统资源分配的基本单位。           在Windows下,进程又被细

2017-04-18 16:25:22 814

转载 php高级工程师面试题

1. 基本知识点HTTP协议中几个状态码的含义:1xx(临时响应)Php代码  表示临时响应并需要请求者继续执行操作的状态代码。    代码   说明   100   (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。    101   (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备

2017-04-18 14:38:18 892

原创 mysql定时任务

1.语法讲解SET GLOBAL event_scheduler = 1;或SET GLOBAL event_scheduler = ON;来开启,也可以直接在启动命令加上“–event_scheduler=1”,例如:mysqld ... --event_scheduler=1my.ini or my.cnf 中的[mysqld]添加 event_schedule

2017-04-18 13:58:33 248

原创 mysql 锁表lock tables/unlock tables

简单的数据库锁表操作 public function locktable(){ $sql="LOCK TABLES think_members WRITE"; $re=M()->execute($sql); $sql1="select * from think_members where uid=1"; $res=M()->query($sql1); $

2017-04-18 13:42:06 871

转载 thinkphp mysql 读写分离

ThinkPHP提供了完善的读写分离功能,不需要手动切换数据库。什么时候读,什么时候写系统会自动判断。读数据时系统会操作从服务器,而写数据时系统会操作主服务器。最终由数据库实现同步,这就是一个最典型的数据库读写分离,下以将配置好的两台主从数据库为例,详细介绍实现读写分离。首先打开项目下的数据库配置文件,修改其中的数据库连接参数。要实现多数据库连接,只需要使用","分隔多台服务器即可,如以下

2017-04-17 18:42:06 1281

原创 php+mysql读写分离

关于MySQL的读写分离有几种方法:中间件,Mysql驱动层,代码控制关于中间件和Mysql驱动层实现Mysql读写分离的方法,今天暂不做研究,这里主要写一点简单的代码来实现由PHP代码控制MySQL的读写分离。 准备工作:两个Mysql服务器,已经配置好主从,如果没配置过Mysql主从       主服务器192.168.1.101;      

2017-04-17 18:39:36 405

原创 mysql数据库的主从复制

1.mysql主从复制听起来很复杂,其实只需要懂得怎么配置mysql的配置文件就可以了。2.两个服务器ip分别为192.168.1.101,192.168.1.102,101的作为主服务器,102的为从服务器且都安装了相同版本的mysql数据库3.原理:mysql主从复制是依靠二进制日志。主服务器A(101),从服务器B(102),A做什么B就跟着做什么,即A把所有的增删改查操作都写进日志

2017-04-17 18:36:48 248

原创 php 通过http 模拟添加博客评论

通过查看http的request请求模拟需要的数据 然后发送请求$data=array('comment_content'=>'写的不好的地方请大家指教','comment_userId'=>521203,'content'=>'这是通过模拟http请求写的评论','id'=>68490556);$data=http_build_query($data);$opts=array('htt

2017-03-31 16:15:32 648

原创 nginx里添加多个虚拟主机

Nginx下,一个server标签就是一个虚拟主机。1、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站2、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台3、基于ip的虚拟主机,几乎不用。基于域名配置虚拟主机步骤:需要建立/data/www /data/bbs目录,windows本地hosts添加虚拟机ip地

2017-03-30 17:33:08 734 5

原创 nginx 默认的轮询负载均衡

1.安装nginx想在 CentOS 系统上安装 Nginx ,你得先去添加一个资源库,像这样:vim /etc/yum.repos.d/nginx.repo 使用 vim 命令去打开 /etc/yum.repos.d/nginx.repo ,如果 nginx.repo 不存在,就会去创建一个这样的文件,打开以后按一下小 i 键,进入编辑模式,然后复制粘贴下面这几行

2017-03-30 17:27:51 3031

转载 centos 7上安装redis

简介:Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。Redis的所有数据都是保存在内存中(效率高),然后不定期的通过异步方式保存到磁盘上(这

2017-03-06 18:30:53 191

原创 centos 7上php-redis扩展安装

步骤一:下载解压下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz 我们把源码包放在一个具体的目录下是一个好习惯,现在我把该源码包放在 /usr/local/src 里边[lsgozj@localhost ~]# cd /usr/local/src[lsgozj@localhost src]# wget ht

2017-03-06 18:24:31 198

原创 php+redis 实现用户注册等操作

reids的hash实现用户数据的增删改查1.用户注册public function saveuser() { $username = $_POST ['username']; $password = md5 ( $_POST ['password'] ); $age = $_POST ['age']; $addtime = time (); $uid = $this-

2017-02-28 15:18:25 471

原创 redis+php案例

1.通过apache的ab来进行压力高并发测试运行下面的程序,这是往redis里添加用户数据 放到redis队列里public function redisweibo(){ $uid=rand(100, 10000); $name='weibo_'.$uid; $content="weibo_content_".$uid; $addtime=date('Y-m-d H:i:s',t

2017-02-27 13:45:39 381

原创 微信企业付款

微信企业付款最低金额1元public function sq() { $str = "http://d.qm1888.com/index.php/shop/Test/sq_1"; $str_url = urlencode ( $str ); $appid = "********************"; $url = 'https://open.weixin.qq.com/co

2017-02-16 16:39:57 747

原创 微信上传下载临时素材

1.微信上传临时素材 $tokenurl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=******&secret=********"; $res = file_get_contents ( $tokenurl ); $arrs = json_de

2017-02-16 14:29:38 2009

原创 thinkphp+redis+队列

1,安装redis,根据自己的php版本安装对应的redis扩展(此步骤简单的描述一下)  1.1,安装 php_igbinary.dll,php_redis.dll扩展此处需要注意你的php版本如图:    1.2,php.ini文件新增 extension=php_igbinary.dll;extension=php_redis.dll两处扩展ok此处已经完成第

2017-02-08 18:04:47 14447

原创 mysql lock table/unlock table 表锁/解锁

在某个地方看到有个例子,具体描述类似如下:商店现在某商品只有1件库存,然后A与B在网上进行下订,A与B几乎同时(或许也就差几毫秒,A比B快那么一点点)进行。很明显是只有A才能成功下单的,B则会收到库存不足的提示,但是作为放置在服务端的那个页面(或者称为脚本程序)我们得怎样去处理这个问题呢?或者我先放出一段代码吧。 代码如下复制代码    $s

2017-02-07 14:53:43 3044

空空如也

空空如也

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

TA关注的人

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