PHP

深入理解PHP Opcode缓存原理

什么是opcode缓存? 当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode)。Opcode cache的目地是避免重复编译,减少CPU和内存开销。如果动态内容的性能瓶颈不在于CPU和内存,而在于I/O操作,比如数据库查询带来的磁盘I/O开销,那么opcode cache的性能提升是非常有限的。但是既然opcode cache能带来CPU和内存开销的降低,这总归是好事。 现代操作码缓存器(Optimizer+,APC2.0+,其他)使用共享内存进行存储,并且可以直接从中执行文件,而不用在执行前“反序列化”代码。 ...

php-fpm参数优化

php-fpm进程设置多少合适,设成动态还是静态? 下面是摘自Google讨论话题:《 PHP-FPM on highload tips 》[墙外,翻墙可参考goagent]。 When you running a highload website with PHP-FPM via FastCGI, the following tips may be useful to you 如果你的高负载网站使用PHP-FPM管理FastCGI,也许下面这些技巧对你有用 1. Compile PHP’s modules as less as possible, the simple the best (fast); 尽量少安装PHP模块,最简单是最好(快)的 2. Increas PHP FastCGI child number to 100 and even more. Sometime, 200 is ...

Git Branch 的操作与基本工作流程

Git Branch 的操作与基本工作流程 branch (分支)应该是Git 最重要的技能了,在一个多人专案的开发过程中我们有时候要开发新功能,有时候是要修正某个Bug,有时候想要测试某个特异功能能不能work ,这时候我们通常都会从主branch 再开出一条新的branch 来做,这支新开的branch 会带着你的主branch 目前的最新状态,当你完成你所要开发的新功能/ Bug 修正后确认没问题就再把它merge(合并)回主Branch ,如此便完成了新功能的开发或是Bug 的修正,因此每个人都可以从主branch 拉一条新的branch 来做自己想做的事,再来我们好好了解一下bra ...

Linux创建用户、用户组 及 删除

  在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组。创建用户user1的时候指定其所属工作组users,例:useradd –g users user1 一、创建用户: 1、使用命令 useradd 例:useradd user1——创建用户user1    useradd –e 12/30/2009 user2——创建user2,指定有效期2009-12-30到期    用户的缺省UID从500向后顺序增加,500以下作为系统保留账号,可以指定UID, 例:useradd –u 600 user3    2、使用 passwd 命令为新建用户设置密码 例:passwd user1 注意:没有设置密码 ...

五一去哪玩?

北岳恒山 AAAA

恒山位于山西浑源县境内,相传4000年前舜帝北巡至此,见山势雄伟,遂封为“北岳”;恒山崛起于桑乾盆地南端,连绵数百里。横亘寨上,主峰海拔2017米,山上怪石争奇,古树参天,苍松翠柏之间散布着殿亭楼台,给雄伟的北岳增添了不少秀色。古有恒山十八胜景,今尚存朝殿、会仙府、九天宫、悬空寺等十余处,最为著名的就是悬空寺。悬空寺坐落在金龙口的绝壁上,一组红绿相映的建筑群,玲珑剔透,像是一幅彩画贴大石壁上,又像无形的线把几座小房子系在半空。正如当地民谣说的“悬空寺,半天高,三根马尾空中吊”该寺始建于北魏王朝后期,经金、明、清三代重修,已有1400余年的历史。

php 判断上传文件类型 $_files[][‘type’]值大全

123 application/vnd.lotus-1-2-3 3gp video/3gpp aab application/x-authoware-bin aam application/x-authoware-map aas application/x-authoware-seg ai application/postscript aif audio/x-aiff aifc audio/x-aiff aiff audio/x-aiff als audio/X-Alpha5 amc application/x-mpeg ani application/octet-stream asc text/plain asd application/astound asf video/x-ms-asf asn application/astound asp application/x-asap asx video/x-ms-asf au audio/basic avb application/octet-stream avi video/x-msvideo awb audio/amr- ...

php 判断上传文件的文件类型

$array = array(‘jpg’,’gif’,’png’,’jpeg’); $picImg =’/upfile/upload_pic/thumbnail_1258615556.jpg’; $img = strtolower($picImg); //获取文件件扩展名方法一 $ext = substr($img,strrpos($img,’.’)+1);//这里是读取文件扩展名的代码 //获取文件件扩展名方法二 $ext = end(explode(‘.’,$img)); //获取文件件扩展名方法三 这是应该是最安全的了,就是用php $_FILES[‘type’]    必须是表单提交过来的 $ext = $_FILES[‘file& ...

Redis Showlog 命令

  Redis Showlog 命令 Redis Showlog 是 Redis 用来记录查询执行时间的日志系统。 查询执行时间指的是不包括像客户端响应(talking)、发送回复等 IO 操作,而单单是执行一个查询命令所耗费的时间。 另外,slow log 保存在内存里面,读写速度非常快,因此你可以放心地使用它,不必担心因为开启 slow log 而损害 Redis 的速度。 语法 redis Showlog 命令基本语法如下: redis 127.0.0.1:6379> SLOWLOG subcommand [argument] 可用版本 >= 2.2.12 返回值 取决于不同命令,返回不同的值。 实例 查看日志信息: redis 127.0.0.1: ...

php配置

 限制最大上传文件大小
     upload_max_filesize = 2048M
限制post提交最大文件大小
     post_max_size = 2048M

Git查看、删除、重命名远程分支和tag

这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提纲: 查看远程分支 删除远程分支和tag 删除不存在对应远程分支的本地分支 重命名远程分支 把本地tag推送到远程 获取远程tag 查看远程分支 加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话): $ git branch -a master remote tungway v1.52 * zrong remotes/origin/master remotes/origin/tungway remotes/origin/v1.52 remotes/origin/zrong 删除远程分支和tag 在Git v1.7.0 之后,可以使用这种语法 ...