
PHP
文章平均质量分 85
black_OX
这个作者很懒,什么都没留下…
展开
-
php://input
在使用xml-rpc的时候,server端获取client数据,主要是通过php输入流input,而不是$_POST数组。所以,这里主要探讨php输入流php://input 对一php://input介绍,PHP官方手册文档有一段话对它进行了很明确地概述。 “php://input allows you to read raw POST data. It is a les原创 2014-01-22 10:18:01 · 2751 阅读 · 0 评论 -
mongoDB v2.4 使用全文索引
mongoDB2.4新增的全文索引的支持:现在把官方教程翻译过来:开启全文索引可以在脚本中声明启用:db.adminCommand( { setParameter : 1, textSearchEnabled : true } )修改配置启用:mongod --setParameter textSearchEnabled=true创建一个全文索引为特定字段加翻译 2014-03-19 18:02:01 · 5510 阅读 · 0 评论 -
PHP操作mongoDB 笔记
官方手册,网址在:http://us.php.net/manual/en/book.mongo.php在php的mongo扩展中,提供了4类接口(对象):1,针对mongoDB连接的操作:Mongohttp://us.php.net/manual/en/class.mongo.php2,针对mongoDB中数据库的操作:MongoDBhttp://us.ph原创 2014-03-31 16:59:41 · 1555 阅读 · 0 评论 -
PHPUnit 单元测试简介
引入PHPUnit安装原创 2014-04-28 18:34:18 · 2677 阅读 · 0 评论 -
PHP在linux上执行外部命令(整理)
目录:一、PHP中调用外部命令介绍二、关于安全问题三、关于超时问题四、关于PHP运行linux环境中命令出现的问题一、PHP中调用外部命令介绍在PHP中调用外部命令,可以用,1>调用专门函数、2>反引号、3>popen()函数打开进程,三种方法来实现: 方法一:用PHP提供的专门函数(四个):PHP提供4个专门的执行外部命令的函数:exec(原创 2014-06-04 14:51:59 · 1004 阅读 · 0 评论 -
PHP SPL
这几天,我在学习PHP语言中的SPL。这个东西应该属于PHP中的高级内容,看上去很复杂,但是非常有用,所以我做了长篇笔记。不然记不住,以后要用的时候,还是要从头学起。由于这是供自己参考的笔记,不是教程,所以写得比较简单,没有多解释。但是我想,如果你是一个熟练的PHP5程序员,应该足以看懂下面的材料,而且会发现它很有用。现在除此之外,网上根本没有任何深入的SPL中文介绍。==转载 2014-06-26 17:32:56 · 1415 阅读 · 0 评论 -
PHP 伪重载
对于弱类型语言来说,PHP函数重载,并不像一般的OOP那样。因为函数重载必须满足两个条件:1、函数参数的个数不一样。2、参数的类型不一样。这两点,PHP都没有办法满足,您可以对函数多添加参数,只是相当于多传了个临时变量。而弱类型本来就不区分,所以无法通过这些来实现。但是,可以通过下面的方法来实现简单的伪重载吧。1、默认参数从这个上面就可以看到原创 2014-06-11 11:42:26 · 932 阅读 · 0 评论 -
Ubuntu 14.04 LTS下安装 LNMP环境
最近在 Ubuntu 14.04 LTS 安装 LNMP 一键安装包的时候出现了问题,PHP 5 服务没有启动,只好使用 Ubuntu 官方源进行安装:Nginx (读音 “engine x”)免费、开源、高效的 HTTP 服务。Nginx 是以稳定著称,功能丰富,结构简单,低资源消耗。本教程将演示如何在ubuntu 14.04 服务器中安装 nginx、PHP5(php-fpm)、M原创 2014-07-28 16:23:05 · 13761 阅读 · 2 评论 -
Mongodm : 一个PHP的mongo ORM 操作组件
PHP提供的一系列的Mongo操作类已经很强大了. 但是仍然不是很友好.这在以前使用的时候就有感触, 当时是自己团队写的一套封装, 也经常出现种种的问题.目前在用Phalcon, 框架还在发展阶段, 只提供了cache类操作. 在github和mongodb官网上寻找成熟的优秀的组件, 找到不少, 琳琅满目, 新旧不一, 我从中找了一个说明文档详细,更新及时,维护完善的项目: Mongod翻译 2014-03-31 19:05:47 · 4921 阅读 · 0 评论 -
PHP5.3, PHP5.4, PHP5.5新特性
因为用到PHP新版本,一些新特性必须要了解,且有些可以在开发时就使用,如果不使用,那么何必升级PHP版本呢,显得有些得不偿失了!所以整理了一下 一些特性,有可能不全,待添加PHP 5.3中的新特性一.PHP 5.3中的新特性1. 支持命名空间 (Namespace)2. 支持延迟静态绑定(Late Static Binding)3. 支持goto语句4. 支持闭包、La转载 2014-03-13 11:46:35 · 22508 阅读 · 4 评论 -
PHP操作Riak
Riak是Basho开发的一个开源的分布式的, key-value NoSQL.他的存储引擎使用了google的levelDb,所以它性能极其的快速高效,而且操作简便. 他从底层上提供了HTTP/JSON的查询接口,这让性能更进一步.现在只对使用PHP操作riak的get,put做一个简单的实例:<?php $conn = new \Riak\Connection("192.1原创 2014-01-22 14:13:00 · 1889 阅读 · 0 评论 -
PHP多进程
关于多线程和多进程之间的区别和比较:一个进程必须至少有一个线程, 也可以是多个线程.一般运行一个程序称为一个进程。进程可以创建线程,也可以创建进程。线程是由进程管理的,线程之间、线程和父进程(创建线程的进程)之间可以共享内存变量(需要使用策略的)。进程之间一般不可以直接共享内存变量,需要使用一些进程间的控制共享内存变量。维度多进程转载 2014-02-20 17:44:29 · 1076 阅读 · 0 评论 -
PHP多线程
我之前的文章中说过,大多数网站的性能瓶颈不在PHP服务器上,因为它可以简单地通过横向增加服务器或CPU核数来轻松应对(对于各种云主机,增加VPS或CPU核数就更方便了,直接以备份镜像增加VPS,连操作系统、环境都不用安装配置),而是在于MySQL数据库。如果用 MySQL 数据库,一条联合查询的SQL,也许就可以处理完业务逻辑,但是,遇到大量并发请求,就歇菜了。如果用 NoSQL 数据库,也许转载 2014-02-20 17:45:22 · 1556 阅读 · 0 评论 -
守护进程以及PHP的实现
周末在家无聊,看了下Linux守护进程(Daemon),以及实现的过程,然后用PHP实现了下,感觉这玩意确实对于一些应用场景很有用。结合PHP做一下笔记,如有错误请指正。先的熟悉一些名词。守护进程:Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。进程组:是一个或多个转载 2014-02-20 18:13:29 · 1267 阅读 · 0 评论 -
PHP守护进程类 -- KalonDaemon
守护进程也称精灵进程(daemon),是生存期较长的一种进程。它们常常用在系统自举时启动,仅在系统关闭时才终止。因为它们没有控制终端,所以说它们是在后台运行的。UNIX类操作系统有很多的守护进程,它们执行日常事务活动。目前有大量的web站点基与PHP开发,业务逻辑都是由PHP来实现,很多时候我们也需要一个PHP的daemon来做一些日常事务,例如我们想每隔一个小时统计一下数据库中的某项数据转载 2014-02-20 18:14:40 · 2791 阅读 · 0 评论 -
高性能分布式内存队列系统: Beanstalkd
大家正在使用的分布式内存队列系统,有Memcacheq,Fqueue, RabbitMQ, Beanstalkd以及linkedin的kafka。RabbitMQ使用比较广泛,Beanstalkd是后起之秀。Beanstalkd之于 RabbitMQ,就好比Nginx之于Apache,Varnish之于Squid。后面在项目中使用Beanstalkd的过程中,更发现其简单、轻 量级、高性能、易使转载 2014-02-20 13:46:14 · 1655 阅读 · 0 评论 -
Riak的一个PHP扩展
安装git submodule initgit submodule updatephpize./configuresudo make installextension=riak.so------------PHP.INI设置; How many persistent connections pr. host:port so if you are connectin原创 2014-03-12 16:26:29 · 2103 阅读 · 0 评论 -
php常用函数收集并附解释说明
作为一个php程序员,掌握并熟记一些常用的php函数是必须的,下面作者就把收集的有关于php的数组方面,php系统方面,php文件处理方面,php字符串处理,php数据库操作,php数学以及数字处理,以及php正则方面的常用常见的函数做一下总结并附简单的说明,没事儿的时候多看看,时间长了,自然烂熟于心,开发起项目来也是得心应手了,同时也希望能帮到所有广大php程序员们。(1)php数组转载 2014-03-13 12:22:05 · 1326 阅读 · 0 评论 -
posix和perl标准的正则表达式区别
正则表达式(Regular Expression,缩写为regexp,regex或regxp),又称正规表达式、正规表示式或常规表达式或正规化表示法或正规表示法,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串 。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容 。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内转载 2014-06-19 15:59:03 · 956 阅读 · 0 评论 -
PHPExcel生成和读取Excel文件实例程序
在网站的管理后台经常会使用到报表的生成和读取,CSV和Excel都是常用的报表格式,CSV相对来说比较简单,如果大家有疑问我会相继发布一些CSV的实例,这里主要介绍用PHP 来生成和读取Excel文件。要执行下面的函数,首先要引入一个类库:PHPExcel,PHPExcel是一个强大的PHP类库,用来读写不同的文件格式,比如说Excel 2007,PDF格式,HTML格式等等,这个类库是建转载 2014-09-11 15:26:08 · 1196 阅读 · 0 评论 -
MAC下安装PHP MYSQL NGINX
安装Homebrew ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"记得运行brew doctor命令,来确认Homebrew安装正确。如果已经安装过MacPorts或者RVM,会有提示将MacPorts挪走。sudo mv /opt/local ~/macports安装和调试Nginx转载 2014-11-07 18:21:40 · 1064 阅读 · 0 评论 -
深入理解PHP7之zval
深入理解PHP7之zval转自: https://github.com/laruence/php7-internal/blob/master/zval.mdPHP7已经发布, 如承诺, 我也要开始这个系列的文章的编写, 今天我想先和大家聊聊zval的变化. 在讲zval变化的之前我们先来看看zval在PHP5下面是什么样子PHP5zval回顾在PHP5的时候转载 2015-12-17 14:27:24 · 6630 阅读 · 0 评论 -
PHP7新特性介绍
PHP7-New-Features本文档只介绍PHP7相关的新特性以及功能修改等, 对PHP7的性能和源码结构不做分析.目录新增功能常用的语法糖标量类型和返回类型声明错误处理机制修改ASTNative TLS字符串处理机制修改整型处理机制修改参数处理机制修改foreach修改list()修改变量处理机制修改其他语言层面的修改弃用功能新增函数修改函数其他修改参原创 2015-12-18 22:43:08 · 7842 阅读 · 0 评论 -
Chip框架消息队列组件
简介目标: 使用PHP和Redis提供使用简单而功能强大的消息队列系统.安装目前内嵌到Chip框架, 也可以独立使用, 经过简单的修改可与其他核心模块完全解耦.概述创建队列自定义配置创建创建任务创建延时任务创建定时任务创建周期任务创建失败重试任务设定处理时长TTR处理任务任务状态调度控制并发模式使用说明配置文件在Chip里的c原创 2016-01-19 14:29:14 · 1054 阅读 · 0 评论 -
php-fpm 启动参数及重要配置详解
约定几个目录/usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini一,php-fpm的启动参数12345678910111213转载 2016-06-06 15:55:54 · 986 阅读 · 0 评论 -
MAC OX下PHP和Nginx的配置
首先安装mac安装包brew的安装: ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”php安装和配置brew search php55brew info php55—查看安装时是否需要带上参数--with-fpmbrew install php55 —with-f转载 2014-11-20 13:51:01 · 7846 阅读 · 0 评论 -
CentOS编译安装PHP开发环境
CentOS编译安装PHP开发环境最近在安装服务器开发环境, 踩了不少坑, 这里总结下来. yum安装虽然简单, 却不灵活, 版本也比较老旧不合符设计中的选型, 因此只使用yum安装一些依赖库, 目标软件采用编译安装.目录安装PHP安装PHP扩展安装Phalcon框架安装MySQL安装MongoDB安装Redis安装PHPyum安装依赖库yum inst原创 2016-08-24 16:57:05 · 6576 阅读 · 2 评论 -
对Repository模式误用的反思和纠正
一直以来想自己做一套开发框架,在其基础上进行快速开发,自从接触微软的MVC框架和Entityframework以来,阅读了大量园子里的相关的技术文章,也进行了不少摸索和尝试,中间经历了多次大刀阔斧的重构,现在总算有了雏形,把权限、模式和界面初步搞定,但是回头一看,依然有很多东西思路不够清晰,很多时候是在生搬硬套,不求甚解,结果搞出来一些四不像的东西。 入行近十年,项目经验和开发经验应当是很丰...转载 2018-03-13 20:32:32 · 654 阅读 · 0 评论 -
理解PHP 依赖注入
本文链接地址: 理解PHP 依赖注入|Laravel IoC容器好吧,标题党了,本文非原创啊!看Laravel的IoC容器文档只是介绍实例,但是没有说原理,之前用MVC框架都没有在意这个概念,无意中在phalcon的文档中看到这个详细的介绍,感觉豁然开朗,复制粘贴过来,主要是好久没有写东西了,现在确实很懒变得!首先,我们假设,我们要开发一个组件命名为SomeComp转载 2015-11-20 15:24:39 · 1857 阅读 · 0 评论 -
PHP CLI模式下的多进程应用
PHP在很多时候不适合做常驻的SHELL进程, 他没有专门的gc例程, 也没有有效的内存管理途径. 所以如果用PHP做常驻SHELL, 你会经常被内存耗尽导致abort而unhappy.而且, 如果输入数据非法, 而脚本没有检测, 导致abort, 也会让你很不开心.那? 怎么办呢?多进程….为什么呢? 优点: 1. 使用多进程, 子进程结束以后, 内核会转载 2015-10-01 19:49:40 · 1248 阅读 · 0 评论 -
Redis安装 和 PHP-redis扩展安装
Redis安装1, 下载: TCL 8.5:http://www.tcl.tk/REDIS:http://redis.io2, 安装首先安装tcl8.5:tar -zxvf tcl8.6.1-src.tar.gzcd tcl8.6.1/unix./configuremake && make install再安装redis:tar -zx原创 2014-03-28 15:35:21 · 1465 阅读 · 0 评论 -
PHP命令行脚本接收传入参数的三种方式
通常PHP都做http方式请求了,可以使用GET or POST方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务。这就涉及到在shell命令下如何给php传参的问题,通常有三种方式传参。一、使用$argv or $argc参数接收复制代码代码如下:/** * 使用 $argc $argv 接受参数 */ echo "接收转载 2014-11-06 16:52:20 · 1709 阅读 · 0 评论 -
PHP Extension开发(Zephir版本)
上篇介绍了C语言开发PHP扩展的方法, 现在介绍使用Zephir开发扩展的方法.关于Zephir需要简单介绍一下: Zephir 是为PHP开发人员提供的能够编写可编译/静态类型的高级语言.是优秀的Phalcon团队为开发第二版本框架所编写的新兴语言,其语法优雅,开发扩展非常方便,执行效率上据说是与C不分上下, 他的编译流程如下:Zephir -> C -> bin.Zephir的目的是创原创 2015-02-10 11:14:11 · 10082 阅读 · 0 评论 -
PHP Extension 开发(C语言版本)
在我们编写自己的第一个php扩展之前,先了解一下php的整体架构和运行机制。 php的架构如图1所示。其中一个重要的就是SAPI(服务器端应用编程端口),它使得PHP可以和其他应用进行数据交互,把外部错综复杂的外部环境进行抽象化,为内部的php提供一套固定和统一的接口,使得php自身不受外部影响,保持一定的独立性。常见的SAPI有CGI,FastCGI,Shell转载 2015-02-09 17:55:36 · 2332 阅读 · 1 评论 -
Zend API:深入 PHP 内核
译序及目录译序网上关于 PHP 的资料多如牛毛,关于其核心 Zend Engine 的却少之又少。PHP 中文手册出现已 N 年,但 Zend API 的翻译却仍然不见动静,小弟自觉对 Zend Engine 略有小窥,并且翻译也有助于强迫自己对文章的进一步理解,于是尝试翻译此章,英文不好,恭请方家指点校核。转载请注明来自抚琴居(译者主页):http://www.yAnbiN.or转载 2015-02-12 17:26:38 · 2088 阅读 · 0 评论 -
PHP的变量结构
PHP在内核中是通过zval这个结构体存储变量的:struct _aval_struct { zvalue_value value; // 变量的值 zend_unit refcount__gc; // 引用计数 zend_uchar type; // 变量当前的数据类型 zend_uchar is_ref__gc; // 是否引原创 2015-03-04 18:04:54 · 834 阅读 · 0 评论 -
位运算总结 取模 取余
位运算应用口诀 清零取反要用与,某位置一可用或若要取反和交换,轻 轻松松用异或移位运算要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。 4 ">>>"运算符,右边的位被挤掉,对于左边移出的转载 2015-06-08 14:12:03 · 18253 阅读 · 0 评论 -
Protocel Buffers - 生成PHP代码
编译器调用protobuf编译器使用--php_out = command-line 产生PHP输出。 --php_out 参数编译器编写PHP输出的目录。 为了符合PSR-4,编译器创建了与proto文件中定义的包相对应的子目录。 另外,对于proto文件输入中的每条消息,编译器会在程序包的子目录中创建一个单独的文件。 消息输出文件的名称由三部分组成:基本目录:使用输出路径(用--ph...翻译 2018-06-06 16:19:01 · 1860 阅读 · 0 评论 -
php读取二进制流
将php数据转换为二进制数据string pack ( string $format [, mixed $args [, mixed $...]] )将二进制数据转换为php数据array unpack ( string $format, string $data )$format:a – NUL-padded stringa – NUL- 字符原创 2012-07-22 11:53:31 · 15585 阅读 · 0 评论 -
Memcache入门
Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库教程的压力。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟原创 2011-09-05 10:51:10 · 700 阅读 · 0 评论