PHP
文章平均质量分 85
fredy_yang
这个作者很懒,什么都没留下…
展开
-
PHP4种运行模式对比
PHP运行模式有4钟:1)cgi 通用网关接口(Common Gateway Interface))2) fast-cgi 常驻 (long-live) 型的 CGI3) cli 命令行运行 (Command Line Interface)4)web模块模式 (apache等web服务器运行的模块模式)1. CGI(Common Gateway Interf转载 2013-07-14 21:37:59 · 792 阅读 · 0 评论 -
PHP哈希表碰撞攻击原理
最近哈希表碰撞攻击(Hashtable collisions as DOS attack)的话题不断被提起,各种语言纷纷中招。本文结合PHP内核源码,聊一聊这种攻击的原理及实现。哈希表碰撞攻击的基本原理哈希表是一种查找效率极高的数据结构,很多语言都在内部实现了哈希表。PHP中的哈希表是一种极为重要的数据结构,不但用于表示Array数据类型,还在Zend虚拟机内部用于存储上下文环境信息(执行转载 2013-07-27 22:27:42 · 764 阅读 · 0 评论 -
php实现server(demo)
今天下午在segmentfault.com看到一个提问,提问标题是“PHP怎么做服务化”,其中问道php是不是只能以web方式调用。其实很多人对PHP的使用场景都有误解,认为php只能用于编写web脚本,实际上,从PHP4开始,php的使用场景早已不限于处理web请求。从php的架构体系来说,php分为三个层次:sapi、php core和zend engine。php core本身和web没转载 2013-07-27 22:26:03 · 839 阅读 · 0 评论 -
Socket深度探究4PHP(2)
上一篇《Socket深度探究4PHP(一)》中,大家应该对 poll/select/epoll/kqueue 这几个 IO 模型有了一定的了解,为了让大家更深入的理解 Socket 的技术内幕,在这个篇幅,我会对这几种模式做一个比较详细的分析和对比;另外,大家可能也同说过 AIO 的概念,这里也会做一个简单的介绍;最后我们会对两种主流异步模式 Reactor 和 Proactor 模式进行对比转载 2013-07-19 15:38:04 · 717 阅读 · 0 评论 -
PHP SOCKET SERVER
Socket(套接字)一直是网络层的底层核心内容,也是 TCP/IP 以及 UDP 底层协议的实现通道。随着互联网信息时代的爆炸式发展,当代服务器的性能问题面临越来越大的挑战,著名的 C10K 问题(http://www.kegel.com/c10k.html)也随之出现。幸亏通过大牛们的不懈努力,区别于传统的 select/poll 的 epoll/kqueue 方式出现了,目前 linux转载 2013-07-19 15:29:03 · 1337 阅读 · 0 评论 -
使用Curl、socket、file_get_contents三种方法POST提交数据
# # /** # * Socket版本 # * 使用方法: # * $post_string = "app=socket&version=beta"; # * request_by_socket('facebook.cn','/restServer.php',$post_string); # */ # function request_by_socket(转载 2013-07-19 14:56:42 · 686 阅读 · 0 评论 -
Socket深度探究4PHP(三)
看过前两篇文章《Socket深度探究4PHP(一)》和《Socket深度探究4PHP(二)》,大家应该对目前 Socket 技术的底层有了一定的了解。本文我们会对 PHP-5.3.6 的源码中的 Socket 模块进行一定的分析,然后再简单介绍一下目前比较热门的一些相关技术,比如 Node.js 等。自 PHP4 之后,越来越多的模块都被作为扩展提取出来(可单独编译),都在 PHP 源转载 2013-07-19 15:40:04 · 704 阅读 · 0 评论 -
PHP并发访问第三方API或者页面
在实际项目或者自己编写小工具(比如新闻聚合,商品价格监控,比价)的过程中, 通常需要从第3方网站或者API接口获取数据, 在需要处理1个URL队列时, 为了提高性能, 可以采用cURL提供的curl_multi_*族函数实现简单的并发.本文将探讨两种具体的实现方法, 并对不同的方法做简单的性能对比.1. 经典cURL并发机制及其存在的问题经典的cURL实现机制在网上很容易找到, 比原创 2013-07-19 14:43:03 · 3243 阅读 · 0 评论 -
大型网站架构的进化
网站架构逐步发展的基本过程.. 架构演变第一步:物理分离WebServer和数据库 最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们只关注架构的演变历程,因此就假设这个时候已经是托管了一台主机,并且有一定的带宽了。这个时候由于网站具备了一定的特色,吸引了部分人访问,逐渐你发现系统的压力越来越高,响应速度越来越慢,而这个时候原创 2013-07-18 08:48:38 · 1071 阅读 · 1 评论 -
web安全(XSS&CSRF)
客户端(浏览器)安全 同源策略(Same Origin Policy)同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性。 如:不能通过Ajax获取另一个源的数据;JavaScript不能访问页面中iframe加载的跨域资源。 对 http://store.company.com/dir/pag原创 2013-07-16 10:19:27 · 1158 阅读 · 0 评论 -
PHP操作HBASE(通过thrift)
HBase是一个开源的NoSQL产品,它是实现了Google BigTable论文的一个开源产品,和Hadoop和HDFS一起,可用来存储和处理海量column family的数据。官方网址是:http://hbase.apache.org一 、HBase访问接口1. Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBa转载 2013-07-15 10:33:59 · 982 阅读 · 0 评论 -
PHP整个框架架构
1、PHP是什么?PHP 指的是我们从外面看到的一套完整的系统。这听起来有点糊涂,但其实并不复杂(PHP4 内部结构图)。从功能上来分:我们可以分为三部分:1、 解释器部分(Zend 以引擎),负责对输入代码的分析、翻译和执行;2、 功能性部分(PHP功能函数以及扩展),负责具体实现语言的各种功能(比如它的函数等等);3、 接口部分(SAPI),负责同 WEB原创 2013-07-14 21:54:19 · 1116 阅读 · 0 评论 -
php和C语言数组占用空间对比
我们在前面的php高效写法提到,尽量不要复制变量,特别是数组。一般来说,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G。下面我们可以粗略的估算PHP数组占用内存的大小,首先我们测试1000个元素的整数占用的内存: echo memory_get_usage() , ''; $start = memor原创 2013-07-14 21:50:59 · 1053 阅读 · 0 评论 -
PHP生命周期,内核执行过程
1、PHP的运行模式: PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。1、当我们在终端敲入php这个命令的时候,它使用的是CLI。它就像一个web服务器一样来支持php完成这个请求,请求完成后再重新把控制权交给终端。2、当使用Apache或者别web服务器作为宿主时,当一个请求到来时,PHP会来支持完原创 2013-07-14 21:44:56 · 687 阅读 · 0 评论 -
nginx + keepalive 实现HA
一、拓扑环境: 主nginx负载均衡器 192.168.166.203 辅nginx负载均衡器 192.168.166.177VIP地址 192.168.166.178 http://www.keepalived.org/download.htmltar -zxvf keepalived-1.2.1.tar.gzcd keepalived-1.2.1./conf原创 2013-12-21 17:10:35 · 2232 阅读 · 0 评论