自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(172)
  • 资源 (4)
  • 收藏
  • 关注

转载 PHP并发IO编程之路

并发IO问题一直是服务器端编程中的技术难题,从最早的同步阻塞直接Fork进程,到Worker进程池/线程池,到现在的异步IO、协程。PHP程序员因为有强大的LAMP框架,对这类底层方面的知识知之甚少,本文目的就是详细介绍PHP进行并发IO编程的各种尝试,最后再介绍Swoole的使用,深入浅出全面解析并发IO问题。多进程/多线程同步阻塞最早的服务器端程序都是通过多进程、多线程来解决并

2017-06-08 11:58:03 512

转载 PHP底层的运行机制与原理解析

PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的UI框架。了解PHP底层实现的目的是什么?动态语言要像用好首先得了解它,内存管理、框架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们程序的性能。

2017-06-08 11:56:41 218

转载 零基础写PHP扩展

很多PHPer天天写表单,不知如何提升。如果你已经熟悉了数据集和服务器端的优化,不妨试试通过PHP扩展向系统层进军。当原有的PHP代码实现出现性能瓶颈,可以考虑通过PHP扩展实现;纯PHP代码无法实现的功能,可以考虑通过PHP扩展调用其他相关库实现。既能提升业务能力,又能帮助大家逐渐通过扩展了解PHP 源代码层的运作机制。扩展入门较难,这里特别推荐淘宝大牛信海龙老师的入门课程,手把

2017-06-08 11:55:42 321

转载 PHP单元测试与数据库测试

我总感觉 PHP 的开发者们并没有对 PHP 的质量有所追求,可能是因为 PHP 的机制问题吧,让大部分的开发者总以为浏览器访问就没有问题,所以很多时候,做 PHP 开发的,就没有单元测试的这些概念了。能不能有点追求?我个人也是 PHP,但同时我也比较讨厌那些完事就算了的开发者,作为一个开发者,或者说是一个产品的经手人,就应该用心地去做好每个细节,一次比一次要更好。但是做单元测试,

2017-06-08 11:54:26 1969

转载 CentOS 下,PHP安装拓展

CentOS 下,PHP有多种方式来安装拓展, 主要有 包管理式的 yum 安装、pecl 安装, 以及源码编译安装。包管理式的安装卸载尤为方便,而源码编译式的安装则方便参数调优。一般搭建本机开发环境推荐包管理式的安装,节约时间。而线上部署环境则推荐编译安装, 方便调优。本文以 MongoDB 扩展`安装举例。工具PHP版本 : 7.0.17Ngin

2017-06-08 11:53:25 436

转载 关于PHP的错误机制总结

PHP 的错误机制也是非常复杂的,做了几年php,也没有仔细总结过,现在就补上这一课。作者:佚名来源:程序源|2017-04-26 15:30 移动端 收藏  分享PHP 的错误机制也是非常复杂的,做了几年php,也没有仔细总结过,现在就补上这一课。特别说明:文章的PHP版本使用5.5.32PHP的错误级别

2017-06-08 11:51:09 228

转载 PHP哈希表碰撞攻击原理

最近哈希表碰撞攻击(Hashtable collisions as DOS attack)的话题不断被提起,各种语言纷纷中招。本文结合PHP内核源码,聊一聊这种攻击的原理及实现。哈希表碰撞攻击的基本原理哈希表是一种查找效率极高的数据结构,很多语言都在内部实现了哈希表。PHP中的哈希表是一种极为重要的数据结构,不但用于表示Array数据类型,还在Zend虚拟机内部用于存储上下文环境信

2017-06-08 11:49:32 365

转载 云服务器LNMP环境搭建

原文地址:http://blog.csdn.net/zjiang1994/article/details/72884151写在前面关于目的这是一篇介绍如何在云服务器上搭建LNMP环境的指北南内容基于我近一段时间来的学习和实践,所以有些内容会和网上其他文章有重复,所以说本文目的在于通过前辈们的知识,并且尽量清晰的总结出一套行之有效的方法。关于L

2017-06-07 14:27:08 578

转载 自定义 文件上传按钮样式

摘要: 本文讲的是html自定义文件上传控件样式input:file方法总结, 例1   一千个浏览器就有一千个默认控件样式 如何自定义文件上传控件 <input type=’file’> 样式? 原理:把浏览器提供的默认控件样式隐藏,给控件外框添加自定义样式。兼容性:兼容所有浏览器。 HTM例1 一千个浏览器就有一千个默认控件样式

2017-05-09 18:06:54 4971

转载 纯CSS控制背景图片100%自适应填充布局

原文:http://www.uedsc.com/css-background-size-100.html解决:[html] view plain copy html,body{height: 100%;width: 100%;margin:0;padding:0;}  body{      background:url(bg-logi

2017-05-04 14:21:17 7247

转载 关于PHP的错误机制总结

PHP 的错误机制也是非常复杂的,做了几年php,也没有仔细总结过,现在就补上这一课。特别说明:文章的PHP版本使用5.5.32PHP的错误级别首先需要了解php有哪些错误。截至到php5.5,一共有16个错误级别注意:尝试下面的代码的时候请确保打开error_log:error_reporting(E_ALL);  ini_set('display_error

2017-04-28 17:34:42 309

转载 Mysql 并发引起的死锁问题

平台的某个数据库上面有近千个连接,每个连接对应一个爬虫,爬虫将爬来的数据放到cdb里供后期分析查询使用。前段时间经常出现cdb查询缓慢,cpu占有率高的现象。通过show processlist后发现,大量的连接卡在了执行INSERT ... ON DUPLICATE KEY UPDATE这样的语句上面。难道并发执行INSERT ... ON DUPLICATE KEY UPDATE会导致cp

2017-04-27 18:20:59 1833

转载 大数据量下MySQL插入方法的性能比较

不管是日常业务数据处理中,还是数据库的导入导出,都可能遇到需要处理大量数据的插入。插入的方式和数据库引擎都会对插入速度造成影响,这篇文章旨在从理论和实践上对各种方法进行分析和比较,方便以后应用中插入方法的选择。插入分析MySQL中插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例:连接:(3)发送查询给服务器:(2)分析查询:(2)插入记录:(1x记录大小)插入索

2017-04-27 18:16:55 419

转载 静态内容实现缓存的七种不同方法

在商业世界中,人们常说“现金为王”。然而,在技术世界里,我们却说“缓存为王”。 从浏览器到应用前端、应用后端、数据库,每一层都可以通过缓存来显著地提高系统的扩展能力,改善系统的响应能力,同时减少系统的负担。互联网平台上的内容可以分为静态和动态两种。静态内容指那些不经常改变的文本和图像。动态内容是指随着时间的推移,不断变化的内容。本文主要讨论静态内容实现缓存的七种不同方法。1. 利用

2017-04-27 18:13:04 6473

转载 Mysql 优化

说起MySQL的查询优化,相信大家收藏了一堆奇淫技巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。MySQL逻辑架构如果能在头脑

2017-04-27 18:09:47 260

转载 MySQL实现两主多从架构

1.实现目标 目标清单: 1)Master(192.168.31.230)为正常运行环境下的主库,为两个Slave(192.168.31.231和192.168.31.232)提供“主-从”复制功能; 2)Master_Backup(192.168.31.233)是Master的备份库,只要Master是正常的,它不对外提供服务。它与Master之间属于"主-主"复制关系,即自己既是主机,又是对方

2017-04-20 10:00:18 11677 2

转载 在linux下安装或者卸载nginx

如果迩是在ubuntun下安装nginx、建议先卸载掉自带的版本、太旧了、0.7的、uWsgi都不支持、还要打补丁、太麻烦了、如果是默认安装的话、一定是使用了apt-get的方式来安装的、那么莪们就使用apt-get的方式来卸载吧、sudo apt-get --purge remove nginx完成后再试下which nginx存在不、不存在就是已经成功卸了还是从源码

2017-04-19 15:13:47 7610

原创 CodeIgniter在nginx下404 not found

server { listen 80; server_name test.platform; charset utf8; root /data/www/platform/trunk; location / { index index.html index.php;

2017-04-19 11:22:50 1749

转载 CentOS 6.6编译安装Nginx1.6.2+MySQL5.6.21+PHP5.6.3

vi /etc/sysconfig/iptables #编辑防火墙配置文件# Firewall configuration written by system-config-firewall# Manual customization of this file is not recommended.*filter:INPUT ACCEPT [0:0]:FOR

2017-04-19 11:02:52 471

转载 编译安装libevent,memcache,以及php的memcached扩展

一 安装libevent1.去官网http://libevent.org/ 下载最新源码,我用的是libevent-2.0.20-stable.tar.gz 2.解压到/usr/src目录 ,执行命令:sudo tar -zxvf libevent-2.0.20-stable.tar.gz -C /usr/src3.进入解压以后的目录,用sudo方式执行命令:sudo ./

2017-04-12 14:44:11 1034

转载 安装php的libevent

libevent扩展安装libevent-2.0.16-stable.tar http://libevent.org/[plain] view plain copycd libevent-2.0.16-stable  ./configure  make   make install  下载php-libev

2017-04-12 14:41:32 1355

转载 linux下的nginx/mysql/php启动、停止、重启命令操作

/usr/local/nginx/sbin/nginx/etc/init.d/mysql start/usr/local/php/sbin/php-fpm start #nginx命令   start: /usr/local/nginx/sbin/nginx  stop: /usr/local/nginx/sbin/n

2017-04-10 18:13:56 221

转载 nginx-rtmp-module搭建带推流验证的RTMP+HLS直播服务器

目前来说,我们可以用到的rtmp服务器有以下几种1.开源类型:red5,crtmpserver,erlyvideo,haXevideo,FluorineFX,simple rtmp server(SRS),还有nginx-rtmp,Cumulus Server,Mistserver2.商业软件:wowza media server,slyseal,fms(ams),helix,Evostr

2017-04-10 14:14:28 9810

转载 使用nginx与nginx-rtmp-module搭建流媒体服务器

本次搭建流媒体使用的环境是centos 7.0+nginx;让我们一起开始奇妙的流媒体之旅吧!1、下载nginx-rtmp-module:nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module使用命令:[php] view pla

2017-04-07 10:12:38 322

转载 关于直播,所有的技术细节都在这里了

网络视频直播存在已有很长一段时间,随着移动上下行带宽提升及资费的下调,视频直播被赋予了更多娱乐和社交的属性,人们享受随时随地进行直播和观看,直播的打开时间和延迟变成了影响产品功能发展重要指标。 注:本文是以原文为主体,加上我自己的一些总结和补充写的那么,问题来了: 如何实现低延迟、秒开的直播?先来看看视频直播的5个关键的流程:   录制->编码->网络传输-

2017-04-06 13:06:22 1297

原创 自己对设计模式的理解:工厂模式和单例模式

一、工厂模式:个人总结class  Factory{static function createObject($par){if ($par == 1) {$test1 = new Object1();} elseif ($par == 2) {$test2 = new Object2();} else {$test3 = new Object3();}

2017-03-31 17:08:40 262

原创 composer的安装

1.必须安装PHP MySQL2.下载最新的composer.phar3.建立文件夹 composer4.命令执行安装php composer.phar5.php composer.phar -V 看到版本6.建立一个composer.bat文件,里面写入@php "%~dp0composer.phar" %*7.composer -v  ok中国镜像

2017-03-31 17:02:55 170

转载 Elasticsearch安装IK分词器

安装方式大概分为两种:自行编译;使用elasticsearch-rtf版,利用别人编译好的文件进行安装;环境说明:我下载的es版本是:elasticsearch-1.7.4.tar.gz,这里我是用的ik版本是elasticsearch-rtf-1.0.0.zip解压后得到的elasticsearch-analysis-ik-1.2.6.jar文件。方式一:自行编译

2017-03-31 16:57:41 594

转载 PHP汉字转换拼音的函数代码

header('Content-Type: text/html; charset=UTF-8');/** * 拼音工具类 * $isfirst true代表只要拼音的大写字母,否则就是全拼 */class PinyinUtil{ public static function convert($s, $isfirst = false) { static $

2017-03-31 16:54:27 50692

转载 使用 ElasticSearch Aggregations 进行统计分析

ElasticSearch 的特点随处可见:基于 Lucene 的分布式搜索引擎,友好的 RESTful API……大部分文章都围绕 ELK Stack 和全文搜索展开,本文试图用一个小案例来展示 ElasticSearch Aggregations 在统计分析的强大之处。表单长这样需求:对回收的问卷进行统计,统计方式可能有:看每周/天/小时回收量(可以做成

2017-03-31 16:50:19 2832

转载 rpc介绍,和PHP常用的rpc框架

什么是rpc框架先回答第一个问题:什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call)那什么是远程调用?通常我们调用一个PHP中的方法,比如这样一个函数方法: localAdd(10, 20),localAdd方法的具体实现要么是用户自己定义的,要么是php库函数中自带的,也就说在localAdd方法的代码实现在本地,它

2017-03-31 16:48:01 9488

原创 常见通信协议区别——tcp、udp、rpc、http、socket

TCP/IPTCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。tcp和udptcp和udp都是传输协议,主要区别是tcp协议连接需要3次握手,断开需要四次握手,是通过流来传输的,就是确定连接后,一直发送信息,传完后断开。udp不需要进行连接,直接把信息

2017-03-31 16:45:01 1896

原创 sql server 实现分页方法

var iPage = getPage(); // 获取当前页var iPageSize = 20;// 每页的记录数量var sql = "SELECT TOP "+ iPageSize +" ID,User FROM [Users] WHERE age > 18 AND "+ " ID NOT IN ( SELECT TOP "+ iPageSize*(iPage -1) +" I

2017-03-31 09:39:09 277

转载 jsonp 跨域通信的实现

jsonp 跨域通信的实现       在js中,让 s1.example.com (s1) 可以于 s2.example.com (s2) 通信        js跨域发送消息是没有权限的,也没有办法从其他域名获取返回的数据        如: (在 s1 下)    $.ajax({        url:'http://s2.example.com/get

2017-03-31 09:35:25 321

原创 SQL语句收集

每个用户在 从表(t) 只获取一条 最新的 记录。适用于一对多,但每个主表记录只查询一条从表记录的情况。addtime  -- 添加时间userid -- 外键select top 10 title from t where addtime in (select max(addtime) from t group by userid)参考网址:http://zhidao.bai

2017-03-30 16:08:38 168

转载 .htaccess 的正则规则

为了方便 htaccess 编写正则,这里整理了一下 htaccess 的正则规则。# —— 位于行首时表示注释。[F] —— Forbidden(禁止): 命令服务器返回 403 Forbidden错误给用户浏览器[L] —— Last rule(最后一条规则): 告诉服务器在本条规则执行完后停止重写URL[N] —— Next(下一条规则): 告诉服务器继续重写,指导所

2017-03-09 17:21:48 472

转载 PHP使用CURL详解

PHP使用CURL详解CURL是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS。CURL可以根据URL前缀是“HTTP” 还是“HTTPS”自动选择是否加密发送内容。使用CURL发送请求的基本流程使用CURL的PHP扩展

2017-03-06 17:13:24 223

转载 MySQL的存储函数(自定义函数)的定义和使用方法

什么是存储函数: 封装一段sql代码,完成一种特定的功能,返回结果。存储函数的语法:   create function 函数([函数参数[,….]]) Returns 返回类型  Begin    If(      Return (返回的数据)    Else       Return (返回的数据)    end if;  end;例如: cre

2017-02-13 12:42:41 3532

原创 ci 表单验证

//载入验证类$this->load->library('form_validation');//验证是否有输入用户名$this->form_validation->set_rules('username', 'username', 'required');//验证是否有输入密码$this->form_validation->set_rules('passwor

2017-02-07 14:02:03 700

原创 正则验证数字

验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$验证非零的正整数:^\

2017-02-04 16:30:54 238

上海地铁sql,上海地铁所有线路的站点 sql

上海地铁sql 上海地铁所有线路的站点 mysql,上海地铁sql 上海地铁所有线路的站点 sql ,

2019-10-22

全国省份、城市、县、区、街道、的sql

全国省份、城市、县、区、街道、的sql

2017-08-28

pcre-8.36.tar.gz

2017-04-19

zlib-1.2.8.tar.gz

2017-04-19

空空如也

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

TA关注的人

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