06 2016 档案
摘要:刚刚打开虚拟机,然后打算安装sharutils 工具在安装sharutils 工具的时候 终端提示 “/var/run/yum.pid 已被锁定,PID 为 1610 的另一个程序正在运行。”root@steven ~]# yum install sharutils -y已加载插件:fastestm
阅读全文
摘要:_add($a, $b); } /** * 两数相减 */ public function sub($a, $b) { return $a - $b; } /** * 两数乘法 */ public function mul($a, $b) { return $a * $b;...
阅读全文
摘要:前几天,部门召开了PHP技术峰会 学习会议,大家分别对这次会议的PPT 做了简单的介绍, 其中提到了 鸟哥【惠新辰】的一篇PPT《微博LAMP 演变》,如果谁有需要可以去谷歌搜,或者去 http://www.laruence.com/2013/08/15/2913.html 他的博客去看一下,我就不
阅读全文
摘要:Introduction Yar is a RPC framework which aims to provide a simple and easy way to do communication between PHP applications It has the ability to con
阅读全文
摘要:Monolog 是PHP的一个日志类库。相比于其他的日志类库,它有以下的特点: 功能强大。可以把日志发送到文件、socket、邮箱、数据库和各种web services。 遵循 PSR3 的接口规范。可以很轻易的替换成其他遵循同一规范的日志类库。 良好的扩展性。通过 Handler 、 Format
阅读全文
摘要:php artisan make:controller DIR/XXXController
阅读全文
摘要:如果你用过Visual Studio的自动补全功能后,再来用eclipse的自动补全功能,相信大家会有些许失望。 但是eclipse其实是非常强大的,eclipse的自动补全没有VS那么好是因为eclipse的补全功能用的是默认设置。你只需要稍微修改一下就行了。 最简单的修改方式是:Windows—
阅读全文
摘要:Protocol Buffers是谷歌定义的一种跨语言、跨平台、可扩展的数据传输及存储的协议,因为将字段协议分别放在传输两端,传输数据中只包含数据本身,不需要包含字段说明,所以传输数据量小,解析效率高。感兴趣的可以访问这里。Protocol Buffers官方只支持C++, Java, Python
阅读全文
摘要:打开Eclipse Babel Project 主页: http://www.eclipse.org/babel/downloads.php 根据Eclipse的版本找到相应的插件地址,复制下来。 进入Eclipse,选择Help->Install New Software... 点击Add按钮,把
阅读全文
摘要:尊敬的跨境电子商务通关服务平台用户: 根据海关总署最新发布的《关于跨境电子商务零售进口商品有关监管事宜的公告》及相关政策规定,跨境电子商务通关服务平台(进口)将对企业申报的跨境电子商务零售进口申报清单中以下字段做增加和调整: 跨境电子商务零售进口申报清单推送跨境电商通关服务平台(进口)接口报文表头中
阅读全文
摘要:一、物流英语的145个专业词汇 (1)物流英语之基本概念术语 1.物品 article 2.物流 logistics 3.物流活动 logistics activity 4.物流作业 logistics operation 5.物流模数 logistics modulus 6.物流技术 logist
阅读全文
摘要:1.储存storing 保护、管理、贮藏物品。 2.保管storage 对物品进行保存及对其数量、质量进行管理控制的活动。 3.物品储备article reserves 储存起来以备急需的物品。 4.库存inventory 处于储存状态的物品。 5.经常库存cycle stock 在正常的经营环境下
阅读全文
摘要:基本概念术语 3·1物品Article 经济活动中涉及到实体流动的物质资料。 3·2物流Logistics 物品从供应地向接收地的实体流动过程。根据实际需要,将运输、储存、装卸、搬运、包装、流通加工、配送、信息处理等基本功能实施有机结合。 3·3物流活动Logistics activity 物流诸功
阅读全文
摘要:A abstract 抽象的 abstract base class (ABC)抽象基类 abstract class 抽象类 abstraction 抽象、抽象物、抽象性 access 存取、访问 access function 访问函数 access level访问级别 account 账户 a
阅读全文
摘要:一 为什么选择Nginx搭建Web服务器 Apache和Nginx是目前使用最火的两种Web服务器,Apache出现比Nginx早。Apache HTTP Server(简称Apache)是世界使用排名第一的Web服务器软件,音译为阿帕奇,是Apache软件基金会的一个开放源码Web服务器,可以运行
阅读全文
摘要:查看CPU信息(型号)cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
阅读全文
摘要:本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 上两篇文章中我们完成了 View 视图加载类和 Mail 邮件发送类的设计,完成了两个可插拔组件。本篇文章中我们将构建另一个可插拔组件——'Redi
阅读全文
摘要:本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 经过了上一个 系列教程 《利用 Composer 一步一步构建自己的 PHP 框架》 ,我们组建了一个具有 路由 、 MVC 架构 和 ORM 功能
阅读全文
摘要:本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 上一篇文章中,我们手工建造了一个简易的视图加载器,顺便引入了错误处理包,让我们的 MFFC 框架在 M、V、C 三个方面都达到了“好用”的水平。Vi
阅读全文
摘要:本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 经过前三篇文章 基础准备 、 构建路由 和 设计 MVC ,我们已经得到了一个结构比较完整的 MVC 架构的 PHP 微框架,但是距离一个真正能够上
阅读全文
摘要:本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 上一篇中我们已经建立了一个空的 Composer 项目,本篇将讲述如何构建路由。 久负盛名的 CodeIgniter 框架是很多人的 PHP 开发入门框架
阅读全文
摘要:终于可以 “一次编写,到处发布” 了,泪流满面! 今天凌晨我从一点多开始搞了四个小时到 5:20,终于搞出了个 Emlog 的 MarkDown 插件!欢迎 Emloger 尝试! 本教程示例代码见 https://github.com/johnlui/My-First-Framework-base
阅读全文
摘要:『Composer 一统天下的时代已经到来!』——白岩松 “一个时代结束了,另一个时代开始了。” Framework Interoperability Group(框架可互用性小组),简称 FIG,成立于 2009 年。FIG 最初由几位知名 PHP 框架开发者发起,在吸纳了许多优秀的大脑和强健的体
阅读全文
摘要:DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。 本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作。我的目标是,读完此文后,你就能完全理解DNS。 一、DNS 是什么? DNS (Domain Name System 的缩写)的作用非常简单,就是根据域名
阅读全文
摘要:1, SESSION 默认依赖于 COOIKE 而这个告知方式,就是COOKIE, 那么这个id的作用是什么呢? 这个id其实就是sessionid,用于区分多个session的依赖,也就是说,如果我们改掉PHPSESSID的值,如果够碰巧,我们就能够盗用其他人的SESSION信息了 我们可以看到,
阅读全文
摘要:前阵子在做一个商家优惠券的功能,需要用到条形码,于是将资料重新整理下。 1.什么是条形码? 百度百科定义:条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成平行线的图案。在日常
阅读全文
摘要:1、查看有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l # wc -l 看看有多少行 2、查看某一个页面被访问的次数: grep "/index.php" log_file | wc -l 3、查看每一个IP访问了多少个页面: awk '{++
阅读全文
摘要:约定几个目录 /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-fpm.conf /usr/local/php/etc/php.ini 一,php-fpm的启动参数 #测试php-fpm配置 /usr/local/php/sbin/php-fpm -t /usr/local/php/sbin/php-fpm -c /usr/local/ph...
阅读全文
摘要:一、get请求 curl "http://www.baidu.com" 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地 curl -i "http://www.baidu.com" 显示全部信息 curl -l "http://www.baidu.com" 只显示头部信息 curl
阅读全文
摘要:可以使用 git commit --amend 修改上一次的提交信息。 操作示例 如下: git commit --amend 后会出现编辑界面,如下 可以在最上面红框的地方,修改要提交的信息,然后按Ctrl + o (WriteOut),如下 然后按回车保存,回到上一个界面后按 Ctrl + x
阅读全文
摘要:1、设置Git的user name和email:(如果是第一次的话) 2、生成密钥 连续3个回车。如果不需要密码的话。最后得到了两个文件:id_rsa和id_rsa.pub。 如果不是第一次,就选择overwrite. 3、添加密钥到ssh-agent 确保 ssh-agent 是可用的。ssh-a
阅读全文
摘要:mkdir repo_name cd repo_name git init touch README.md git add README.md git commit -m "first commit" git remote add origin https://git.oschina.net/jinchunguang/repo_name.git git push -u origin master...
阅读全文
摘要:0x01 背景 现在的WEB应用对SQL注入的防护基本都是判断GPC是否开启,然后使用addlashes函数对单引号等特殊字符进行转义。但仅仅使用这样的防护是存在很多盲点的,接上篇http://www.cnbraid.com/2016/05/10/sql6/,这里介绍另外两种情况。盲点如下:①FIL
阅读全文
摘要:0x01 背景 现在的WEB应用对SQL注入的防护基本都是判断GPC是否开启,然后使用addlashes函数对单引号等特殊字符进行转义。但仅仅使用这样的防护是存在很多盲点的,比如最经典的整型参数传递,也即被带入数据库查询的参数是整型、数组中的key没过滤被带入了查询以及全局过滤了GET、POST但没
阅读全文
摘要:0x01 背景 首先我们了解下宽字节注入,宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而导致的注入漏洞。具体原理如下:1.正常情况下当GPC开启或使用addslashes函数过滤GET或POST提交的参数时,黑
阅读全文
摘要:0x01 背景 PHP程序员在开发过程中难免会使用一些字符替换函数(str_replace)、反转义函数(stripslashes),但这些函数使用位置不当就会绕过全局的防护造成SQL注入漏洞。 0x03 漏洞分析 str_replace函数的错误使用 第一种情况是写程序时会使用str_replac
阅读全文
摘要:0x01 背景 现在的WEB程序基本都有对SQL注入的全局过滤,像PHP开启了GPC或者在全局文件common.php上使用addslashes()函数对接收的参数进行过滤,尤其是单引号。同上一篇,我们需要找一些编码解码的函数来绕过全局防护,本篇介绍base64decode()的情况。漏洞来源于乌云
阅读全文
摘要:0x01 背景 现在的WEB程序基本都有对SQL注入的全局过滤,像PHP开启了GPC或者在全局文件common.php上使用addslashes()函数对接收的参数进行过滤,尤其是单引号。二次注入也是一种比较常见的注入,它涉及到入库和出库。因为有全局转义所以入库的时候: Insert into ta
阅读全文
摘要:0x01 背景 现在的WEB程序基本都有对SQL注入的全局过滤,像PHP开启了GPC或者在全局文件common.php上使用addslashes()函数对接收的参数进行过滤,尤其是单引号。遇到这种情况我们就需要找一些编码解码的函数来绕过全局防护,这篇文章讲urldecode()的情况,同样大牛请自觉
阅读全文
摘要:0x01 背景 首先恭喜Seay法师的力作《代码审计:企业级web代码安全架构》,读了两天后深有感触。想了想自己也做审计有2年了,决定写个PHP代码审计实例教程的系列,希望能够帮助到新人更好的了解这一领域,同时也作为自己的一种沉淀。大牛请自觉绕道~ 0x02 环境搭建 PHP+MySql的集成环境特
阅读全文
摘要:http://u.cxyblog.com/14/article-aid-206.html?utm_source=tuicool&utm_medium=referral
阅读全文
摘要:Laravel是一个功能强大的框架,组件很多,代码也很庞大,它的易用方便是牺牲了性能的,即便如此它仍然是一个优秀的框架,但在正式环境下要做好优化提升网站的打开速度。 1.关闭debug 打开.env文件,把debug设置为false. APP_ENV=local APP_DEBUG=false AP
阅读全文
摘要:什么是Composer Composer 是PHP的一个依赖管理工具。你可以在你的项目里声明你依赖的库,然后Composer会帮你解决以下问题:找到这些库以及这些库所依赖的库可以安装的版本,然后进行安装。所以Composer是一个依赖管理工具,而不是一个包管理工具(类似Yum或者Apt),因为它是基
阅读全文
摘要:MeepoPS是Meepo PHP Socket的缩写。旨在提供高效稳定的由纯PHP开发的多进程SocketService。 MeepoPS可以轻松构建在线实时聊天,即时游戏,视频流媒体播放,RPC,实时监控,以及原本使用HTTP的接口/定时任务的场景中等。 综述: 开发语言:PHP5.3以上 PH
阅读全文
摘要:跳转页面 声明content-type 返回response状态码 在某个时间后执行跳转 控制浏览器缓存 执行http验证 执行下载操作
阅读全文
摘要:对于一个开发人员,文档总是最感到头疼的事情之一。而且,很可能你对待文档会采取截然不同的2种态度: 当你使用别人的代码库的时候,最希望得到的是它的技术文档,尤其是当时间很紧,而你又不得不硬着头皮去读那些生涩的代码的时候。 当写你自己的程序的时候,最不希望做的事情却是给它编写专门的技术文档,你会以种种理
阅读全文
摘要:文档注释,无非“//”和“/**/”两种 ,自己写代码,就那么点,适当写几句就好了;但是一个人总有融入团队的一天,团队的交流不是那几句注释和一张嘴能解决的,还需要通用的注释标准。 PHPDoc是PHP文档注释的一个标准,可以帮助我们在注释文档时有规范,查看别人的代码时更方便。下面的表格是我翻译的WI
阅读全文
摘要:PHPDocumentor是一个用PHP写的强大的文档自动生成工具,对于有规范注释的php程序,能够快速生成具有结构清晰、相互参照、索引等功能的API文档。旧版本是PHPDoc,PHPDoc是PEAR下面的一个非常优秀的模块,类似于Javadoc。从1.3.0开始,更名为phpDocumentor,
阅读全文
摘要:(接上一篇《架构设计:负载均衡层设计方案(8)——负载均衡层总结上篇》) 3、负载均衡层技术汇总 3-4、Keepalived技术 Keepalived在我的博客文章《架构设计:负载均衡层设计方案(7)》(http://blog.csdn.net/yinwenjie/article/details/
阅读全文
摘要:1、概述 很明显通过前面的八篇文章的介绍,并不能覆盖负载均衡层的所有技术,但是可以作为一个引子,告诉各位读者一个学习和使用负载均衡技术的思路。虽然后面我们将转向“业务层”和“业务通信”层的介绍,但是对负载均衡层的介绍也不会停止。在后续的时间我们将穿插进行负载均衡层的新文章的发布,包括Nginx技术的
阅读全文
摘要:1、概述 上篇文章《架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层》(http://blog.csdn.net/yinwenjie/article/details/47130609) 我们讲解了Nginx的故障切换,并且承诺各位读者会尽快讲解 LVS +
阅读全文
摘要:1、概述 前两遍文章中,我们一直在说后文要介绍Nginx + Keepalived的搭建方式。这篇文章开始,我们就来兑现前文的承诺,后续的两篇文章我们将介绍Nginx + Keepalived和 LVS + Keepalived搭建高可用的负载层系统。如果你还不了解Nginx和LVS的相关知识,请参
阅读全文
摘要:之前我们花了两篇文章的篇幅,详细讲解了Nginx的原理、安装和特性组件。请参看《负载均衡层设计方案(2)——Nginx安装》(http://blog.csdn.net/yinwenjie/article/details/46620711)和《架构设计:负载均衡层设计方案(3)——Nginx进阶》(h
阅读全文
摘要:1、概述 上篇文章《架构设计:负载均衡层设计方案(4)——LVS原理》(http://blog.csdn.net/yinwenjie/article/details/46845997),我们介绍了LVS的工作模式,和每一种模式的具体工作过程。这篇文章中,我们将介绍单一LVS节点的安装方式。比起上一篇
阅读全文
摘要:上篇文章《架构设计:负载均衡层设计方案(2)——Nginx安装》(http://blog.csdn.net/yinwenjie/article/details/46620711),我们介绍了Nginx的核心设计思想、基本安装和使用。本来准备继续介绍Nginx的几个使用特性,但是奈何博文篇幅太长,只有
阅读全文
摘要:前一篇文章《架构设计:负载均衡层设计方案(1)——负载场景和解决方式》中我们描述了要搭设负载均衡层的业务场景和负载均衡层搭建和扩展思路。从这篇文章开始的后几篇文章,我们将详细介绍Nginx、LVS和Nginx+Keepalived、LVS+Keepalived和LVS+Nginx+Keepalive
阅读全文
摘要:在上一篇《标准Web系统的架构分层》文章中,我们概述了WEB系统架构中的分层架设体系,介绍了包括负载均衡层、业务层、业务通信层、数据存储层的作用和存在意义。从本片文章开始,我们将首先详细讲解负载均衡层的架构原理和选型场景。 1、不同的负载场景 我们知道负载均衡层的作用是“将来源于外部的处理压力通过某
阅读全文
摘要:1、架构体系分层图 在上图中我们描述了Web系统架构中的组成部分。并且给出了每一层常用的技术组件/服务实现。需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层的技术都需要使用。例如:一些简单的CRM系统可能在产品初期并不需要K-V作为缓存;一些系统访问量不大,并且可能只有一台业务服务
阅读全文
摘要:过滤、验证、转义 所有这些外部资源都不能完全相信 $_GET $_POST $_REQUEST $_COOKIE $argv php://stdin php://input file_get_contents() 远程数据库 远程API 客户端的数据 $_GET $_POST $_REQUEST $
阅读全文
摘要:序 之前写过一篇大话权限中心的PHP架构之道,主要是从软件工程角度介绍,如何通过编码规范、依赖管理、数据源架构、事务处理、单元测试等技术,来保障权限系统的高可用,并未真正的涉及这套系统的架构。 今天准备从设计细节上分享一二。 望各位看官,心有“空杯”,带着“问题”一探究竟。 0. RBAC3 这里还
阅读全文
摘要:本文系美图架构师麦俊生,在Boss直聘主办的直聘学院「对话架构师」活动上的分享整理,介绍短视频社交“美拍”架构实践的总结。 麦俊生,美图架构平台深圳技术总监,曾担任新浪微博、奇虎360技术专家,从事高性能高可用架构设计开发工作,参与建设微博的feed和私信im系统、负责rpc框架motan、cach
阅读全文
摘要:昨晚把美拍架构负责人洪小军在Qcon上的『九个月实现破亿用户的可扩展架构』分享看了一遍(其实那场QCon我也在现场,但是当时小军这个会场实在太多人了,而且当时北京还没开空调又热又闷,所以我就挑了个凉快的会场去听了哈哈),感觉有不少值得学习的地方,在这里记录一下,强烈建议大家把视频从头到尾看一遍,不要
阅读全文
摘要:0. 承上启下 之前那篇文章写出来以后我就觉得会有很多不同的意见,哈哈,那只代表我个人的意见啊,欢迎讨论。 先说说之前那一篇,我举例子举的OA系统,并不是说OA一定要这么设计,只是一种夸张的手法,为了说明后面的完全脱离了业务场景来进行技术架构的设计就是过度设计,并不是说OA系统太简单所以不能这么设计
阅读全文
摘要:今天继续坑系列,高可用已经讲过了,当前互联网时代,怎么少的了高并发呢?高并发和高可用一样, 已经变成各个系统的标配了,如果你的系统QPS没有个大几千上万,都不好意思跟人打招呼,虽然可能每天的调用量不超过100。 高并发这个词,我个人感觉是从电商领域开始往外流传的,特别是电商领域双11那种藐视全球的流
阅读全文
摘要:这个系列是坑系列,会说一些在系统设计,系统架构上的坑,这些都是我想到哪说到哪,有像这篇一样比较宏观的坑,后面的文章也会有到具体技术细节的(比如某个函数,某个系统调用)坑,总之,到处都是坑,这些坑有些是我经历过的,有些是听说的,你也可以留言说说你遇到的坑。 这一篇,我们从重构这个场景来看看系统架构的设
阅读全文
摘要:一、Memcache概述 出现的原因:随着数据量的增大,访问的集中,使得数据库服务器的负担加重,数据库响应恶化,网站显示延迟等 memcache:是高性能的分布式内存缓存服务器.通过缓存数据库的查询结果,减少数据库的访问次数,以提高web应用的速度,提高可扩展性.缓存方式是将缓存结果存储在内存中,通过内存来维护一个hash表. Memcache是一个c/s软件,默认间通过端口为1121...
阅读全文
摘要:运维85条军规 1) 承载能力优先 ——随后再进行优化 —— 不遵守这条规则必定带来故障停机时间。不要在故障停机时间的压力下进行优化——要先集中精力提高承载能力。 2) 以Postgres为例,一定要确保你的每一个网络都能匹配得上你的WAL文件、Slony复制、快照技术以及基于磁盘的DB版本化(快照
阅读全文
摘要:1.原因:本来在家正常休息了,我们放在上海托管机房的线上服务器突然蹦了远程不了,服务启动不了,然后让上海机房重启了一次,还是直接挂了,一直到我远程上才行。 2.现象:远程服务器发现出现这类信息 Hi, please view: http://pastie.org/pastes/10800563/te
阅读全文
摘要:导读:毫无疑问,作为全球最领先的社交网络,Facebook的高性能集群系统承担了海量数据的处理,它的服务器架构一直为业界众人所关注。CSDN博主yanghehong在他自己最新的一篇博客《 Facebook的服务器架构》中分享了他的看法。 大体层次划分 Facebook的架构可以从不同角度来换分层次
阅读全文
摘要:make: *** [sapi/cli/php] Error 1 一:考虑过make clean,问题依然 二:(采取此方法后出现启动apache报错:/usr/local/apache2/modules/libphp5.so: undefined symbol: libiconv_open),采取
阅读全文
摘要:在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到环境变量之前,执行“php -v”命令查看当前php版本信息时时,则会提示命令不存在的错误,下面我们详细介绍一下在linux下将php和mysql加入到环境变量中的方
阅读全文
摘要:Apache简介 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编
阅读全文
摘要:QQ会员活动运营平台(AMS),是QQ会员增值运营业务的重要载体之一,承担海量活动运营的Web系统。AMS是一个主要采用PHP语言实现的活动运营平台, CGI日请求3亿左右,高峰期达到8亿。然而,在之前比较长的一段时间里,我们都采用了比较老旧的基础软件版本,就是PHP5.2+Apache2.0(20
阅读全文
摘要:聊一聊淘宝首页和它背后的一套 聊一聊淘宝首页和它背后的一套 作者: 小胡子哥 2016-06-02 12:00:00本文发布时间为2016年06月02日12时00分00秒 分类: 前端杂烩 标签: 淘宝首页 下面是正文内容评论数: 12条评论 从 14 年双十二结束开始接手淘宝首页,到如今差不多 1
阅读全文
摘要:在我们的一款WebGame的生产环境中,一次无意的strace抓包时,发现了php与mysql大量通讯的数据。这种情况,在游戏服务器刚启动时,是正常的,但如果是运行一段时间之后,出现大量SELECT的SQL查询,绝对是有问题的,而且,所操作的数据库并不是配置库,那意味着,我们程序员的程序出现了违规的
阅读全文
摘要:说的都是只兼容unix 服务器的多进程,下面来讲讲在window 和 unix 都兼容的多进程(这里是泛指,下面的curl实际上是通过IO复用实现的)。 通过扩展实现多线程的典型例子是CURL,CURL 支持多线程的抓取网页的功能。 这部分过于抽象,所以,我先给出一个CURL并行抓取多个网页内容的一
阅读全文
摘要:我们知道,从父进程到子经常的数据传递相对比较容易一些,但是从子进程传递到父进程就比较的困难。 有很多办法实现进程交互,在php中比较方便的是 管道通信。当然,还可以通过 socket_pair 进行通信。 首先是服务器为了应对每一个请求要做的事情(发送一个url 序列,url序列用t 分割。而结束标
阅读全文
摘要:一个进程如果是个人英雄主义,那么多进程就是集体主义。(不严格区分多进程 和 多线程的差别) 你不再是一个独行侠,而是一个指挥家。 独来独往,非常自由自在,但是,很多时候,不如众人拾柴火焰高。 这就是我对多进程的理解。多线程编程的主要问题是:通信 和 同步问题。 更多PHP 多线程编程的背景知识见:
阅读全文
摘要:虽然PHP 中,多进程用的比较的少。但是毕竟可能是会用到了。我最近就遇到这样一个问题,用户提交几百个url以后,要读出这个url 中的标题。 当然,你不希望用户等待的太久,10s 钟应该给出个答案。但是,本身,你要获取一个url 的标题,少的要 0.1s ,多的要好几秒。 显然,采用单个线程的方式是
阅读全文
摘要:最近在开发一个PHP程序时遇到了下面的错误: PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted 错误信息显示允许的最大内存已经耗尽。遇到这样的错误起初让我很诧异,但转眼一想,也不奇怪,因为我正在开发的这个程序是要用
阅读全文
摘要:ziadoz 在 Github 发起维护的一个 PHP 资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库、配置工具、Web 工具、书籍、电子书、经典博文等等。 伯乐在线已在 GitHub 上发起「PHP 资源大全中文版」的整理。欢迎扩散、欢迎加入。 https://github.c
阅读全文
摘要:我们知道Protocol Buffers是Google定义的一种跨语言、跨平台、可扩展的数据传输及存储的协议,因为将字段协议分别放在传输两端,传输数据中只包含数据本身,不需要包含字段说明,所以传输数据量小,解析效率高。感兴趣的可以访问https://developers.google.com/pro
阅读全文
摘要:初次接触PHP,就为其美所折服,于是一发不可收拾。 很多面试,很多人员能力要求都有“PHP高级工程师的字眼”,如果您真心喜欢PHP,并且您刚起步,那么我简单说说一个PHP高级工程师所应该具备的,希望给初级或已经达到中级的PHP工程师一些帮助。 一、平静的心态 和所有程序员一样,要写一手好的程序,没有
阅读全文
摘要:大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Ngi
阅读全文
摘要:Zend OPCache的前身是Zend Optimizer + (Zend O+),在PHP5.5的发行版本中自带了Zend O+,并重新命名为:Zend OPCache。但是默认是没有启用的,可以在ini文件中enable一下。 据统计,zend opcache比apc性能要好,可以提升提升 5
阅读全文
摘要:说明 PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的)。对于PHP 5.5以下版本的,需要使用APC加速,这里不说明,可以自行上网搜索PHP APC加速的方法。 PHP开启opcache方法 1、打开php.ini文件 2、找到:[opcache],设置为:
阅读全文
摘要:libevent是一个基于事件驱动的高性能网络库。支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。PHP libevent扩展安装:libevent扩展依赖于原始的libevent库
阅读全文
摘要:原文: http://86er.sinaapp.com/?p=197
阅读全文
摘要:最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法。 由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾经测试对一个包含400多万条记录(有索引)的表执行
阅读全文
摘要:编译mysql5.7.9的时候报错 解决方法一 解决方法二
阅读全文
摘要:vim /etc/ssh/sshd_config 最后参数 UseDNS no AddressFamily inet PermitRootLogin yes SyslogFacility AUTHPRIV PasswordAuthentication yes MaxAuthTries=2 把这里改大一点即可。
阅读全文
摘要:PHP7和HHVM比较PHP7的在真实场景的性能确实已经和HHVM相当, 在一些场景甚至超过了HHVM。HHVM的运维复杂, 是多线程模型, 这就代表着如果一个线程导致crash了, 那么整个服务就挂了, 并且它不会自动重启。另外它采用JIT, 那么意味着, 重启以后要预热, 没有预热的情况下, 性
阅读全文
摘要:原文: https://segmentfault.com/a/1190000000403307
阅读全文
摘要:ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx、lighthttp、IIS等其它Web服务器的压力。 ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载,因此是某些DDOS攻击之必备良药,
阅读全文