自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 PHP的两个常用函数截取中文字符串无乱码与获取客户端IP地址

1.截取中文字符无乱码支持UTF-8、GBK等编码,原理就是判断是否有可用扩展,如果有扩展则使用扩展函数,没有扩展根据中文的ASCII码进行匹配。        /*         * @param string $str 需要转换的字符串         * @param string $start 开始位置         * @param string $length 截取

2016-08-31 09:35:04 554

原创 在PHP中使用计划任务

要让程序按计划自动执行,如果是自己的服务器,那当然推荐使用操作系统本身的计划任务(例如linux下的cron),这样不占用资源。但如果使用的是虚拟主机没有服务器的权限,那我们还可以使用PHP的计划任务,总结一下有以下几种方式。        1.使用ignore_user_abort函数,如果使用代码ignore_user_abort(true),表示可以或略用户终止请求,如果用户执行某个脚本

2016-08-31 09:34:18 392

原创 使用.htaccess修改php.ini的配置

我们知道php的配置都在php.ini这个配置文件中,在修改相应的参数后重启一下web服务器即可生效。但是有时我们的空间可能是租用的虚拟主机,没有权限修改服务器的配置,这样可以在代码中通过ini_set()这个函数修改php的相关配置。但是这个函数不是万能的,有些参数(例如post_max_size)修改不了的。PHP参数的可修改范围有以下几种 常量 值 可修改范围

2016-08-31 09:33:15 3276

原创 将IP以整型的方式存储到数据库中

在实现某些功能时有时会用到用户的IP地址,因为IP地址有四段,在保存到MySQL数据库中的时候可能会使用varchar(15)或者char(15),其实还有更好的方式那就是将IP地址转换成整型,这样占用空间更小,查询速度快,同时还方便比较。在数据库设计时要用无符号INT UNSIGNED,否则长度不够。下面给出主要PHP代码:php$ip = '这里是获取到的IP';echo $i

2016-08-31 09:31:23 584

原创 使用MySQL的慢查询日志找到低效的SQL语句

如题,要开启mysql的慢查询日志可以在mysql的配置文件中的[mysqld]下设置两项:        log-slow-queries = D:/soft/PHPnow/MySQL-5.1.50/test.log        long_query_time = 1        log-slow-queries表示日志册存储位置,long_query_time表示执行时间 单位

2016-08-31 09:30:31 352

原创 MySQL数据库优化漫谈

1.表设计    遵循三范式,但必要的时候做数据冗余,举例说明:在权限模型中可能会用到5张表 用户表、角色表、权限表,还有用户角色关联表和角色权限关联表。如果此时要通过用户查询权限则必须关联查询或者使用多条sql查询,此时可以在用户表增加一个字段来存储用户的权限(例如将权限值使用逗号隔开),这样可以如果查询某用户的权限可以直接在用户表中查询,查询后再用程序来处理。    设计表时要选用合适

2016-08-31 09:29:32 226

原创 在Linux下不使用密码远程登陆其他Linux

有时需要再一台Linux上登陆其他Linux服务器,通常可以直接使用SSH命令,加入两台服务器一台服务器A,IP地址192.168.1.2,另一台服务器B,IP地址192.168.1.3,如果想从A服务器使用root用户登陆B服务器只需要在A服务器上执行/usr/bin/ssh [email protected],提示输入正确的密码后可以顺利登陆B服务器,但是有时两台服务器之间登陆不需要密码,比如执

2016-08-31 09:25:58 310

原创 通过jsonp解决ajax的跨域请求问题

AJAX对于我们来说可能已经不是陌生的事情了,但如果你的是跨域请求,那么AJAX已经无能为力,其实这个也是可以弥补的,就是利用 jsonp。其实也不是什么技术,只是利用JS标签里面的跨域特性进行跨域数据访问,服务器返回的JS代码在客户端浏览器再次执行得到我们想要的效果,利 用jsonp可以做到防AJAX实现跨域请求,但是我们并不需要创建XMLHttpRequest,当然也得不到readyState

2016-08-31 09:25:05 291

原创 使用HTMLPurifier防止跨站攻击(XSS)

在编程开发时安全问题是及其重要的,对于用户提交的数据要进行过滤,XSS就是需要重视的一点,先说一下什么是XSS,简单来说就是用户提交数据(例如发表评论,发表日志)时往Web页面里插入恶意javascript代码例如死循环,疯狂的alert,这还不算还可能会修改页面页面上的html元素(例如登录表单的action),这样当用户浏览该页之时,嵌入其中Web里面的代码会被执行,从而达到用户的特殊目的。

2016-08-31 09:24:22 379

原创 PHP结合memcacheq消息队列解决并发问题

在处理业务逻辑时有可能遇到高并发问题,例如商城秒杀、微博评论等。如果不做任何措施可能在高瞬间造成服务器瘫痪,如何解决这个问题呢?队列是个不错的选择。队列(Queue)又称先进先出(First In First Out)利用消息队列可以很好地异步处理数据传送和存储,当你向数据库中写入数据就可采取消息队列来异步插入。只要有并发限制的地方基本都可以使用队列来解决。这里先重点介绍一下memcacheq。

2016-08-31 09:22:12 1877

原创 使用rsync+inotify-tools+ssh实现文件实时同步

在某些服务器架构中,会遇到文件同步问题,例如需要做站点镜像备份,同步文件到多个CDN节点等。需要解决的主要有两个问题1.如何实现文件同步问题? 2.何时执行同步操作?    文件同步可以使用rsync+ssh,什么时候自行同步操作呢?可能部分人会想到cron,这个没错,可以实现的,但是确实有点浪费资源,因为cron并不知道文件是否被修改过,只是不停的周期性的执行,如果文件修改后再执行同步操

2016-08-31 09:20:37 398

原创 centos7 安装lamp环境

一、配置防火墙CentOS 7.0默认使用的是firewall作为防火墙。1、关闭firewall:[python] view plain copy systemctl stop firewalld.service #停止firewall  systemctl disable firewalld.service #禁止firewall开机启动

2016-08-01 21:01:25 276

原创 mysql主从复制

主从复制配置步骤如下:主服务器:从服务器ip地址分别为[python] view plain copy 192.168.145.222、192.168.145.226  1、修改主服务器master:[python] view plain copy vi /etc/my.cnf  [mysqld]      log-b

2016-08-01 20:57:54 406

原创 centos 安装 lnmp

1.安装nginx[python] view plain copy yum install yum-priorities -y  wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm  rpm -ivh nginx-release

2016-08-01 20:54:27 249

原创 jquery ajax 如何设置同步

Ajax请求默认的都是异步的如果想同步 async设置为false就可以(默认是true)var html = $.ajax({  url: "some.php",  async: false}).responseText; 或者在全局设置Ajax属性$.ajaxSetup({  async: false  });再用post,get就是同步的了

2016-06-23 17:04:59 798

原创 mysql 锁表详解

为了给高并发情况下的MySQL进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。一、概述MySQL有三种锁的级别:页级、表级、行级。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-levellocking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locki

2016-06-17 09:50:35 7054 1

原创 高并发系统之限流特技

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,即限

2016-06-12 21:49:03 20951

原创 高并发系统限流特技2

上一篇《高并发系统限流特技》讲了限流算法、应用级限流、分布式限流;本篇将介绍接入层限流实现。接入层限流接入层通常指请求流量的入口,该层的主要目的有:负载均衡、非法请求过滤、请求聚合、缓存、降级、限流、A/B测试、服务质量监控等等,可以参考笔者写的《使用Nginx+Lua(OpenResty)开发高性能Web应用》。对于Nginx接入层限流可以使用Nginx自带了两个模块:连接数限流

2016-06-12 21:42:26 2932 2

原创 网站优化技术概述

一、大型网站与小型网站的区别 二、 大型网站的特点以及存在的问题 三、 大型网站一般用到哪些优化技术

2016-06-12 16:58:32 483

原创 ajax 拖拽 断点续传

>  html>      head>          meta charset="UTF-8"/>          title>xhr2title>      head>      body>          div  id="drop_area" style="border:3px dashed silver;width:200px; height:200px">            

2016-06-12 14:04:43 677 1

空空如也

空空如也

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

TA关注的人

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