PHP7内核基础知识之变量类型

 

前言 下面我们大概了解下PHP7的变量类型都有哪些,是如何存储变量的。 zval结构定义 PHP7中是使用zval结构存储变量信息的。zval结构的定义在./Zend/zend_types.h文件中定义。 struct _zval_struct { zend_value value; /* value */ union { struct { ZEND_ENDIAN_LOHI_4( zend_uchar type, / ...

Gearmand异步处理就安全了吗?不!

 

前言 之前使用Gearman的时候,遇到过一个卡顿的问题。今天微博上又有人问我是否遇到过此类问题。这个问题,当时是伯诚老师解决的。我把他的文章搬过来。希望能给遇到此类问题的人一点参考。 问题 使用Gearman作为异步消息处理中间件是却没有想象中的顺利。我们多次发现Gearmand进程会将PHP的请求Hold住,不做任何响应, ...

如何设置Java的默认版本

 

Mac下Java的版本是1.7。 java -version java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b14) Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode) 安装了1.8版本后,执行Java -version命令依然显示的是1.7版本信息。如何切换到1.8版本呢?只要执行如下几个命令即 ...

ReactPHP,PHP版的Node.js

 

前言 前段时间csdn找我约稿。一直忙于项目,也没来及写。十一的时候,学习了下ReactPHP。把了解的一些东西整理成文。难免有疏漏,如发现请指正。原文已经发布到csdn。网址 http://www.csdn.net/article/2015-10-12/2825887 从名字说起 虽然ReactPHP项目已经发展了有4年之久,但是对于其称呼显得有点混乱。在开源中国为 ...

udp协议

 

简介 UDP是User Datagram Protocol的简称。中文名为,用户数据包协议。和tcp协议一样,工作在OSI网络模型的第四层(传输层)。但是,和tcp不一样,它提供的是不可靠的网络传输。它不负责对数据包分组,组装和对数据包排序。也就是说,当数据包发出后,是无法知道数据包是否安全完整到达。 特点 1、无连接:即在发送数据 ...

[坑]打rpm包时,注意%post和%postun的执行顺序

 

问题 掉进坑里面了。最近完成了阿里PHP5.5.25的rpm打包。今天在升级其中一个扩展的时候发现,只要升级成功之后,扩展在配置文件中相关配置项就会被注释掉。最终定位到是spec文件中%postun段写的有问题。 spec文件中%postun段的代码示例如下: %postun conf_path="/php-fpm/lib/php.ini" sed -i 's/^\[tclip\]/;\[tclip ...

线上PHP问题排查思路与实践

 

前言 前几天,在一淘网,腾讯网媒和微博商业技术联合组织的技术分享大会上,我分享了《在线PHP问题排查思路与实践》。此博文除了对PPT提供下载外,还会对ppt做简单的注释说明。主题分为三部分,常见问题,解决思路和案例分析。 常见问题 不同用户看到的错误可能不一样。一般用户看到的错误都是表层的现象。如,裸奔的错 ...

linux mac中实现类似secureCRT的clone session

 

在你的登录账户下的.ssh文件夹新建一个文件:config. cd ~/.ssh vi config config的文件中,内容为: host * ControlMaster auto ControlPath ~/.ssh/master-%r@%h:%p 重新打开终端,第一次,你还是需要输入密码,第二次ssh登录同一台机器,你就不用输入密码了,跟secureCRT一样的clone session的方式一样。 这个文件的 ...

ssh免密码登陆设置时Authentication refused: bad ownership or modes错误解决方法

 

问题 设置ssh免密码登陆的时候,发现有一些机器设置不生效。有一些机器正常。 跟踪 登陆目标机器,查看sshd的日志信息。日志信息目录为,/var/log/secure 你会发现如下字样的日志信息。 Jul 22 14:20:33 v138020.go sshd[4917]: Authentication refused: bad ownership or modes for directory /home/xinhailong 原因 s ...

mysql索引合并:一条sql可以使用多个索引

 

前言 mysql的索引合并并不是什么新特性。早在mysql5.0版本就已经实现。之所以还写这篇博文,是因为好多人还一直保留着一条sql语句只能使用一个索引的错误观念。本文会通过一些示例来说明如何使用索引合并。 什么是索引合并 下面我们看下mysql文档中对索引合并的说明: The Index Merge method is used to retrieve rows ...

linux下redis执行bgsave时,报overcommit_memory错误问题

 

现象 一台机器如果内存用完,在进行bgsave时,可能会报错。错误信息大概如下: [1946] 23 Mar 15:21:02.308 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the comm ...

使用varnish + nginx + lua搭建网站的降级系统

 

前言 通常一个网站数据库挂掉后,后果将是非常严重的。基本上整个网站基本不可用了。对于一些网站来说,当数据库挂掉后,如果能提供基本的浏览服务,也是不错的。本文将尝试使用varnish + nginx + lua 搭建网站降级系统来实现整个目标。 降级目标 降级方案的目标是,当网站出现致命故障时(如出现500错误,不能提供服务 ...