
PHP
文章平均质量分 83
一片枫叶o
凡心所向,素履所往。生如逆旅,一苇以航。
展开
-
搭建自己的PHP框架
现在web应用普遍使用的是MVC设计模式,即模型(Model)、视图(View)和控制器(Controller)搭建框架首先要明白三者的联系,我们可以设计一个单入口文件模式,具体流程是index.php->获取参数得到Controller控制器名,method方法名,param参数->构造控制器->调用相应的方法具体步骤1、首先建立一个项目YHPHP,在项目下建立如下目录app、c原创 2015-03-03 14:07:26 · 1429 阅读 · 0 评论 -
应对节日高峰-Web架构实践
今天要分享的主题是关于QQ会员活动运营平台的架构实践。首先做一个简单的自我介绍,我叫徐汉彬,现在在腾讯的SNG增值产品部工作,主要负责QQ会员生活特权以及今天分享的AMS系统的研发建设。今天我要分享的内容主要分为三部分:QQ增值业务在海量请求下的技术挑战以及背景;Web系统高并发场景的综合优化策略;平台高可用的建设实践。活动有很多特性,今天的主题主要关注转载 2017-07-06 11:37:54 · 768 阅读 · 0 评论 -
【转】Web系统大规模并发——电商秒杀与抢购
电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,转载 2017-07-06 11:36:43 · 580 阅读 · 0 评论 -
PHP的反射类ReflectionClass、ReflectionMethod使用实例
PHP5 具有完整的反射API,添加对类、接口、函数、方法和扩展进行反向工程的能力。反射是什么?它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信息以及动态调用对象的方法的功能称为反射API。反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用。其用途如:自动加载插件转载 2017-03-08 11:02:03 · 4302 阅读 · 0 评论 -
PHP安装扩展
1、找到原来的源码包解压一下如:php-5.2.13进入到到FTP的扩展目录/root/lnmp/php-5.3.0/ext/ftp2、调用phpize程序生成编译配置文件root@dns ftp]# /usr/local/php5/bin/phpize Configuring for: PHP Api Version: 20041225 Zend Module Api原创 2017-01-06 17:31:33 · 412 阅读 · 0 评论 -
Nginx+FastCGI运行原理
Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket(这个socket可以是文件socket,也可以是ip socket)。为了调用CGI程序,还需要一个FastCGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文转载 2016-04-11 21:22:22 · 2470 阅读 · 0 评论 -
推荐几本我学习编程看过的好书
很多和我一样对计算机感兴趣的人,在没有条件的情况下只能通过自学来学习知识,没人指导的情况下对计算机的知识体系结构也很模糊。所以在我学习的过程中给大家推荐基本比较好的书籍。学习C语言的书-------------------------------------------------------------《C.Primer.Plus》学习C++的数---------------------原创 2015-03-13 15:28:39 · 1039 阅读 · 0 评论 -
Mysql 存储引擎中InnoDB与Myisam的主要区别
1, 事务处理innodb 支持事务功能,myisam 不支持。Myisam 的执行速度更快,性能更好。2,select ,update ,insert ,delete 操作MyISAM:如果执行大量的SELECT,MyISAM是更好的选择InnoDB:如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB转载 2015-07-24 09:55:15 · 408 阅读 · 0 评论 -
PHP autoload机制详解
(1) autoload机制概述在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这 也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例 子:/* Person.class.php */<?php转载 2015-08-26 09:53:16 · 620 阅读 · 0 评论 -
用 PHP 编写支持高并发的网站
一般来说,解决WEB高并发的有效手段都是采用可线性扩展的多层分布式架构,我生产项目的架构是这样的,就在这里抛砖引玉一下。Webserver (Nginx) :这一层是可以轻松分布式部署的,结合智能DNS解析可以简易地防止单点故障、实现区域访问加速,结合LVS很容易实现负载均衡。这一层主要是负责处理静态请求和转发PHP请求至第二层的PHP处理节点,至于静态资源地址(misc.xxxx.c转载 2015-06-28 20:28:35 · 536 阅读 · 0 评论 -
PHP5.3, PHP5.4, PHP5.5新特性
PHP 5.3中的新特性一.PHP 5.3中的新特性1. 支持命名空间 (Namespace)2. 支持延迟静态绑定(Late Static Binding)3. 支持goto语句4. 支持闭包、Lambda/Anonymous函数5. 新增两个魔术方法__callStatic()和__invoke()6. 新增Nowdoc语法7. 在类外也可使用const来定转载 2015-06-23 14:35:46 · 442 阅读 · 0 评论 -
php内核分析---内存管理(一)
内存是计算机非常关键的部件之一,是暂时存储程序以及数据的空间,CPU只有有限的寄存器可以用于 存储计算数据,而大部分的数据都是存储在内存中的,程序运行都是在内存中进行的。和CPU计算能力一样, 内存也是决定计算效率的一个关键部分。计算中的资源中主要包含:CPU计算能力,内存资源以及I/O。现代计算机为了充分利用资源, 而出现了多任务操作系统,通过进程调度来共享CPU计算资源,通过虚拟存储来转载 2015-03-23 13:33:42 · 654 阅读 · 0 评论 -
PHP内核分析(五)--(哈希表(HashTable))
PHP中使用最为频繁的数据类型非字符串和数组莫属,PHP比较容易上手也得益于非常灵活的数组类型。 在开始详细介绍这些数据类型之前有必要介绍一下哈希表(HashTable)。 哈希表是PHP实现中尤为关键的数据结构。哈希表在实践中使用的非常广泛,例如编译器通常会维护的一个符号表来保存标记,很多高级语言中也显式的支持哈希表。 哈希表通常提供查找(Search),插入(Insert),删除(De转载 2015-03-17 14:17:07 · 610 阅读 · 0 评论 -
PHP内核分析(四)--FastCGI
FastCGI简介CGI全称是“通用网关接口”(Common Gateway Interface), 它可以让一个客户端,从网页浏览器向执行在Web服务器上的程序请求数据。 CGI描述了客户端和这个程序之间传输数据的一种标准。 CGI的一个目的是要独立于任何语言的,所以CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。 如php,perl,tcl等。FastC转载 2015-03-16 21:49:35 · 415 阅读 · 0 评论 -
PHP内核分析(三)-Apache
Apache的运行过程Apache的运行分为启动阶段和运行阶段。 在启动阶段,Apache为了获得系统资源最大的使用权限,将以特权用户root(*nix系统)或超级管理员Administrator(Windows系统)完成启动, 并且整个过程处于一个单进程单线程的环境中。 这个阶段包括配置文件解析(如http.conf文件)、模块加载(如mod_php,mod_perl)和系统资源初始化(例如转载 2015-03-11 15:13:05 · 554 阅读 · 0 评论 -
PHP内核分析(一)
从宏观上来看,PHP内核的实现与世界上绝大多数的程序一样,接收输入数据, 做相应处理然后输出(返回)结果。 我们编写的代码就是PHP接收的输入数据,PHP内核对我们编写的代码进行解释和运算, 最后返回相应的运算结果。 然而,PHP与我们自己平时写的一般的C程序有所不同的是, 我们的程序一般用来解决某个具体问题, 而PHP本身实现了把用户的逻辑“翻译”为机器语言来执行的功能, 这也是各种编译语言与承转载 2015-03-11 14:07:04 · 7374 阅读 · 0 评论 -
java设计模式(一)
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每转载 2015-03-13 14:23:14 · 444 阅读 · 0 评论 -
PHP内核分析(二)
SAPI概述在其生命周期的各个阶段,一些与服务相关的操作都是通过SAPI接口实现。 这些内置实现的物理位置在PHP源码的SAPI目录。这个目录存放了PHP对各个服务器抽象层的代码, 例如命令行程序的实现,Apache的mod_php模块实现以及fastcgi的实现等等。在各个服务器抽象层之间遵守着相同的约定,这里我们称之为SAPI接口。 每个SAPI实现都是一个_sapi_modu转载 2015-03-11 14:35:35 · 483 阅读 · 0 评论 -
linux安装redis、php的redis扩展
1、下载rediswget http://download.redis.io/redis-stable.tar.gz 2、编译安装tar xvzf redis-stable.tar.gz cd redis-stable makemake install 3、配置make命令执行完成后,会在src目录下生成5个可执行文件,分别是redis-原创 2017-07-07 13:49:55 · 432 阅读 · 0 评论