Title:  记一次PHP7+opcache+zmq出现SEGSEGV问题的查找(一次不成功的bug查找) bug来历自述:线上代码PHP环境是5.2,为了提升性能(逼格),于是升级为PHP7并使用docker部署,为了方便起见使用yum安装(懒惰),代码经测试后准备部署上线,这个时候问题来了. 在配置FPM后压测,发现当FPM子进程重启时,总会有502错误(fpm日志). ba la ba la开始找问题:1.首先确认是不是FPM的配置问题,找了一圈,没有发现问题2.从PHP7本身开始,想着…
系统采用cell插件显示汇总数据,然后发现个公司数据显示不出来,接到这个任务开始查找bug. 通过需求了解并不知道其他公司什么情况,因为就这个公司有了反馈: 本来以为很容易找到点的,毕竟数据显示不出来,或者是结构问题(cell插件通过xml渲染显示数据),或者是根本就未读出来, 按照上述分析开始查找: 1.程序中读取数据没有问题,开始分析是xml的问题 2.对比正常显示的数据和非正常显示的数据结构 结构完全一样. 这个也正常,难道是前台展示问题: 于是分析调试前台展示部分,但是经调试发现,程序也…
一.zephir 编译遇到的错误 安装 git clone https://github.com/phalcon/zephir $ cd zephir $ ./install-json $ ./install -c 编译 www@ubuntu4:~$ zephir build ──────────────────────────────────────────────────────────── The Zephir Parser extension is not loaded. Note: Z…
==================== PHP 7.0 编译安装================== wget http://cn2.php.net/get/php-7.0.9.tar.bz2/from/this/mirror -- 下载php镜像tar xvf mirror -- 解压镜像cd php-7.0.9/ -- 进入安装目录sudo apt-get update -- 更新阿里云库 sudo apt-get install libkrb5-dev \ libc-client2007…
sudo apt-get install software-properties-common python-software-properties sudo add-apt-repository ppa:ondrej/php && sudo apt-get update sudo apt- # 如果之前有其他版本PHP,在这边禁用掉 sudo a2dismod php5 sudo a2enmod php7. # 安装常用扩展 sudo apt--fpm php7.-mysql php7.…
男人不能快,但程序一定要快.PHP7到底快不快,我们拭目以待. PHP7来一发 PHP7正式发布到现在已经一年半了,刚出道就号称比旧版本快了几倍,各种开源框架或系统运行在PHP7上速度效率提高了几倍,反正不管是媒体还是开发者都在煽风点火,不,应该是赞不绝口. 我就静静看你们装逼,不说话. 一般手机系统升级我是跑最后的,因为不愿意踩坑,毕竟iOS和Android这种系统都会出现bug,何况世界上被人黑的最多的语言. 今日时机已到,看看PHP7有没有传说的那么王炸. 安装两个PHP版本 http:/…
1.安装apache2 sudo apt-get update sudo apt-get install apache2 这时http://你机器的ip,就可以访问了 2.安装php7.0+及一些必要的扩展 apt-get install software-properties-common python-software-properties add-apt-repository ppa:ondrej/php && sudo apt-get update apt- # 如果之前有其他版本…
vim 常用快捷键  原帖地址: https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptnames 来查看 set nu #行号 set tabstop=4 #一个tab为4个空格长度 set ai  #设置自动缩进 syntax on   #高亮 2.基本 空格键 向右移动一格 x 删除后面的字符 X 删除前一个字符…
Apache 1.安装Apache yum install httpd 2.设置服务器开机自动启动Apache systemctl enable httpd.service 若要验证是否自动启动可在重启服务器后在终端键入以下命令来检测Apache是否已经启动 systemctl is-enabled httpd.service 如果看到了enable这样的响应,则表示Apache已经启动成功 3.手动启动Apache systemctl start httpd.service 在浏览器中输入IP…
开发反馈应用无法连接数据库,发现数据库实例崩溃,且数据库为11.2.0.4 单实例. 数据库告警日志发现,数据库崩溃之前出现ORA- ORA-: exception encountered: core dump [opiaba()+] [SIGSEGV] [ADDR:0x0] [PC:0x1858C3F] [SI_KERNEL(general_protection)] [] 匹配MOS Bug - ORA- [opiaba] when bind variables (文档 ID 12578873…
解Bug之路-记一次JVM堆外内存泄露Bug的查找 前言 JVM的堆外内存泄露的定位一直是个比较棘手的问题.此次的Bug查找从堆内内存的泄露反推出堆外内存,同时对物理内存的使用做了定量的分析,从而实锤了Bug的源头.笔者将此Bug分析的过程写成博客,以飨读者. 由于物理内存定量分析部分用到了linux kernel虚拟内存管理的知识,读者如果有兴趣了解请看ulk3(<深入理解linux内核第三版>) 内存泄露Bug现场 一个线上稳定运行了三年的系统,从物理机迁移到docker环境后,运行了一段…
去掉敏感信息后的不完整版 ==========================================================================2018年12月29日 记录: 目前在维护的最低PHP版本只有5.6了:1.5.6.39版本convert.quoted-printable-encode过滤器时核心的segfault错误imap扩展的错误phar扩展的错误,PharData类提供了一个访问和创建不可执行的tar和zip存档的高级接口5.6.38版本apac…
2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理 7)Linux程序设计入门--线程操作 8)Linux程序设计入门--网络编程 9)Linux下C开发工具介绍 1)Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编…
Nginx配置phpmyadmin流程如下: 一.准备软件和环境(这里我以ubuntu16.04为例) 1.安装php7.1 sudo LC_ALL=C.UTF- add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt--cli php7.-common php7.-curl \ php7.-dev php7.-fpm php7.-json php7.-mbstring php7.-mcrypt \ php7.-mysql p…
主要参考官方文档Ubuntu16.04+Apache+PHP+MySQL+EduSoho 安装教程LAMP环境按照如下搭建是没有问题的,本地虚拟机试验是完全没有问题的. 1.更新 sudo apt-get update sudo apt-get upgrade 2.安装apache2 sudo apt-get install apache2 sudo apt-get install libapache2-mod-xsendfile 通常sudo apt-get install apache2 默…
1.更新 sudo apt-get update sudo apt-get upgrade 2.安装Nginx sudo apt-get install nginx 3.安装php sudo apt--cli php7.-common php7.-curl \ php7.-dev php7.-fpm php7.-json php7.-mbstring php7.-mcrypt \ php7.-mysql php7.-opcache php7.-zip php7.-intl php7.-gd ph…
---恢复内容开始--- 1.nginx的服务端的安装 打开命令行终端,在终端输入,sudo apt-get install nginx  回车即开始安装 kxlc-t@ubuntu:~$ sudo apt-get install nginx [sudo] kxlc-t 的密码: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 将会同时安装下列软件: nginx-common nginx-core 建议安装: fcgiwrap nginx-doc 下列[…
本文首发于 PHP 数组使用之道,转载请注明出处. 这个教程我将通过一些实用的实例和最佳实践的方式列举出 PHP 中常用的数组函数.每个 PHP 工程师都应该掌握它们的使用方法,以及如何通过组合使用来编写更精简且易读的代码. 另外,我们提供了相关示例代码的演示文稿,你可以从相关链接下载它,并分享给你的团队来打造更强的团队. 入门 先让我们从一些处理数组键名和键值的基础数组函数开始.array_combine() 作为数组函数中的一员,用于通过使用一个数组的值作为其键名,另一个数组的值作为其值来创…
环境准备:PHP7.0.33MySQL5.7Apache2.4 PHP环境安装: sudo apt--cli php7.-common php7.-curl \ php7.-dev php7.-fpm php7.-json php7.-mbstring php7.-mcrypt \ php7.-mysql php7.-opcache php7.-zip php7.-intl php7.-gd php7.-xml MySQL环境安装: sudo apt-get install mysql-clie…
1,为什么要离线装包 防止有些包官方升级以后导致的不兼容,比如php5和php7,目前已经无法apt-get install php5了, 2,装包以前你得有安装包文件,deb或者是run deb包在哪里? 1,方法1,如果你有一个已经安装好了的一样的环境你可以在老系统上找 sudo apt-get 的包在路径 /var/cache/apt/archives下,一般会有对应的deb包 2,方法2,下载(这一步同样需要一台老的差不多的系统,并且安装过你想要的包) apt-cache show 包名…
使用Ubuntu系统编译安装Zabbix企业级监控系统   作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Ubuntu系统部署笔记:https://www.cnblogs.com/yinzhengjie/p/12180899.html. 一.从zabbix官网下载相应版本软件包步骤详解 1>.如下图所示,点击"产品手册"(官网地址:https://www.zabbix.com/cn/manuals) 2>.如下图所示,点击"阅读中文版"…
使用Ubuntu系统管理包工具(apt)部署Zabbix企业级监控系统  作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Ubuntu系统部署笔记:https://www.cnblogs.com/yinzhengjie/p/12180899.html. 一.Zabbix监控系统概述 1>.开源监控服务介绍 博主推荐阅读: https://www.cnblogs.com/yinzhengjie2020/p/12301844.html 2>.什么是zabbix监控系统 Zabbi…
注:本文仅限交流使用,请务用于商业用途,否则后果自负! Linux 1.Linux介绍 Linux是类Unix计算机操作系统的统称. Linux操作系统的内核的名字也是“Linux”. Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核的系统. Linux是由芬兰大学Linus Torvalds于1991年编写的. 2.Linux发行版组成 Linux内核 应用软件 一些GNU程序库和工具 emacs GCC GNOME 命令行shell…
远程控制你的服务器 远程控制 Linux 类型的系统的服务器,比如 CentOS 系统的服务器,一般不像 Windows 服务器那样,使用图形界面的远程控制.我们需要使用命令行工具,远程连接到服务器,然后使用命令去控制服务器.Windows 用户可以使用 Putty,Mac 用户可以使用系统自带的终端工具.然后用 ssh 命令,连接到你的服务器.像这样: ssh root@218.244.147.196 @ 左边的 root 是连接时使用的用户的名字,@ 右边的数字是你的服务器的 IP 地址.这…
在线精简cheatsheet备查表:intellij.linesh.twGithub项目:intellij-mac-frequent-keymap Intellij的快捷键多而繁杂,从官方推荐的keymap,到网络上很多的个人总结,资料可谓浩如烟海.相反,如何从众多的快捷键中快速找到使用频率最高.对工作效率提升最多的快捷键,则成为一个难题.这个cheatsheet速查表,正是为了解决Intellij快捷键学习过程可能遇到的这个问题. 这一年里我拉拉杂杂地阅读了许多Intellij快捷键与使用理念…
现在让我们继续跟着大神的脚步前进 学习一下JavaScript中的面向对象的思想,其实作为一个iOS开发者,对面向对象还是比较熟悉的,但是昨晚看了一下Js中的面向对象,妈蛋 一脸萌比啊.还好有大神.让我们跟着大神的思路在捋一下.(在这里更欢迎大家阅读原博 )原博地址:http://www.cnblogs.com/dolphinX/p/4385862.html 理解对象 对象这个词如雷贯耳,同样出名的一句话:XXX语言中一切皆为对象! 对象是什么?什么觉面向对象的编程? 对象(object),台湾…
vim +ctags + taglist ,ctags+cscope 安装配置和使用 内容:VIM下ctags和taglist的安装配置方法:一键安装 ctags和cscope的方法 :vim语法高亮,自动缩进,python 自动缩进设置,下面将逐个介绍安装和配置使用方法,仅供参考: 1, vim + ctags + taglist配置和使用 taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用! 1.首先安装ctags 首先是ctags的安装,推荐使用exube…
RPM与YUM是配合使用的. rpm负责从网站或指定的文件路径,获取到rpm软件包.也就是说你要安装什么服务或软件,就要先找到rpm包,下载下来.也就是通常说的配置yum源. 啥是yum源.你下载下的的rpm包就是咯. rpm 包 的包名一般有NAME  包是叫啥名字,一般与内容一致, VERSION 这个是版本号,通常理解就是升级到第几代了,RELEASE 这是软件包的升级基础,就是在此版本上做的更新.ARCH是编译这包,对CPU有啥要求,就是在什么框架下干活,NOARCH表示不限.想用啥用啥…
1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了.这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml.美中不足的是这组快捷键并非在所有视图下都能用.2. ctrl+o:快速outline 如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想使用查找功能的话,就用ctrl+o吧.它可以列出当前类中的所有方法及属性,你只需输入你想要查询的方法名,点击enter就能够直接跳转至你想去…
shell实例手册 0 说明{ 手册制作: 雪松} 1 文件{        ls -rtl                 # 按时间倒叙列出所有目录和文件 ll -rt    touch file              # 创建空白文件    rm -rf 目录名           # 不提示删除非空目录(-r:递归删除 -f强制)    dos2unix                # windows文本转linux文本      unix2dos                #…