rorntuck7的专栏

php java android

【php7扩展开发六】zval的操作

生成各类型zval PHP7将变量的引用计数转移到了具体的value上,所以zval更多的是作为统一的传输格式,很多情况下只是临时性使用,比如函数调用时的传参,最终需要的数据是zval携带的zend_value,函数从zval取得zend_value后就不再关心zval了,这种就可以直接在栈上分...

2019-01-11 17:47:27

阅读数 169

评论数 0

【php7扩展开发五】函数调用

实际应用中,扩展可能需要调用用户自定义的函数或者其他扩展定义的内部函数,PHP提供的函数调用API的使用: ZEND_API int call_user_function(HashTable *function_table, zval *object,zval *function_name, ...

2019-01-10 16:48:07

阅读数 58

评论数 0

【php7扩展开发四】函数的参数 ,引用传参 ,返回值

函数参数解析 之前我们定义的函数没有接收任何参数,那么扩展定义的内部函数如何读取参数呢?用户自定义函数在编译时会为每个参数创建一个zend_arg_info结构,这个结构用来记录参数的名称、是否引用传参、是否为可变参数等,在存储上函数参数与局部变量相同,都分配在zend_execute_data...

2019-01-10 15:26:35

阅读数 359

评论数 0

【php7扩展开发三】ini配置

php.ini配置 php.ini是PHP主要的配置文件,解析时PHP将在这些地方依次查找该文件:当前工作目录、环境变量PHPRC指定目录、编译时指定的路径,在命令行模式下,php.ini的查找路径可以用-c 参数替代。 该文件的语法非常简单: 配置标识符 = 值 。空白字符和用分号';'开始的...

2019-01-09 12:25:28

阅读数 326

评论数 0

【php7扩展开发一】注册一个内部函数 hello world

通过扩展可以将C语言实现的函数提供给PHP脚本使用,如同大量PHP内置函数一样,这些函数统称为内部函数(internal function),与PHP脚本中定义的用户函数不同,它们无需经历用户函数的编译过程,同时执行时也不像用户函数那样每一个指令都调用一次C语言编写的handler函数,因此,内部...

2019-01-09 11:04:29

阅读数 182

评论数 0

【php7扩展开发二】全局变量

使用C语言开发程序时经常会使用全局变量进行数据存储,这就涉及前面已经介绍过的一个问题:线程安全,PHP设计了TSRM(即:线程安全资源管理器)用于解决这个问题,内核中频繁使用到的EG、CG等都是根据是否开启ZTS封装的宏,同样的,在扩展中也需要必须按照TSRM的规范定义全局变量,除非你的扩展不支持...

2019-01-08 18:26:32

阅读数 229

评论数 0

linux中sort命令

功能说明:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序。 参  数:   -b   忽略每行前面开始出的空格字符。   -c   检查文件是否已经按照顺序排序。   -d   排序时,处理英文字母、数字及空格字符外,忽略其他的字符。   -f   排序时,将小写...

2019-01-30 10:32:19

阅读数 71

评论数 0

真正的inotify+rsync实时同步 彻底告别同步慢

我们公司在用inotify+rsync做实时同步,来解决分布式集群文件一致性的问题。但当web文件越来越多(百万级数量html,jpg等小 文件),同步就越来越慢,根本做不到实时,按照网上的调优方法都尝试过,问题根本没有解决。经过我一翻细致研究,终于把慢的核心问题研究明白,先总结一句 inotif...

2019-01-29 17:32:46

阅读数 80

评论数 0

Linux 文件同步rsync

与传统的cp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。 安装rsync 我们使用wget进行下载,安装包下载完毕后,我们开始解压并安装 ...

2019-01-27 18:02:08

阅读数 250

评论数 0

Linux 用户管理及用户权限设置

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户...

2019-01-27 11:22:58

阅读数 341

评论数 0

Linux 定时任务crontab

crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crontab依赖的服务就是crond,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务...

2019-01-26 16:16:37

阅读数 149

评论数 0

Linxu ps命令

ps命令能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态。如果你想不断更新查看的这个状态,可以使用top命令。 ps命令支持三种使用的语法格式 UNIX 风格,选项可以组合在一起,并且选项前必须有“-”连字符 BSD 风格,选项可以组合在一起,但是选项前不能有“-”连字符 G...

2019-01-26 12:12:15

阅读数 50

评论数 0

Linux netstat命令详解

简介 netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。 netstat的输出结果可以分为两个部分: 1. Active Inte...

2019-01-25 18:10:37

阅读数 37

评论数 0

Linux awk命令

awk 是一种很棒的语言,它适合文本处理和报表生成,其语法较为常见,借鉴了某些语言的一些精华,如 C 语言等。在 linux 系统日常处理工作中,发挥很重要的作用,掌握了 awk将会使你的工作变的高大上。 使用方法 awk '{pattern + action}' {filenames} ...

2019-01-24 17:42:55

阅读数 31

评论数 0

nginx日志配置

1. 配置错误日志 Error Log Nginx 将遇到的不同严重级别问题的信息写入错误日志。 error_log 指令设置对特定文件,stderr 或 syslog 的日志记录,并指定要记录的消息的最低严重级别。 默认情况下,错误日志位于 logs/error.log(绝对路径取决于操作系统...

2019-01-23 16:09:05

阅读数 155

评论数 0

时序数据库InfluxDB使用详解--几个重要概念

influxdb的安装这里就不在说明了 ,这里已经做了说明https://blog.csdn.net/rorntuck7/article/details/86559223。 下面我们来介绍一下influxdb里面有一些重要概念 database,timestamp,field key, fie...

2019-01-21 12:01:43

阅读数 522

评论数 0

ubuntu上 grafana + influxdb + telegraf 安装配置

Grafana    一个纯粹的HTML/JS应用,其功能非常强大,访问InfluxDB时不会有跨域访问的限制。只要配置好数据源为InfluxDB之后就可以,剩下的工作就是配置图表。 InfluxDB    开源的分布式时序、时间和指标数据库,使用Go语言编写,无需外部依赖。其中,时间序列数据库...

2019-01-20 10:11:02

阅读数 200

评论数 0

【php7内核】静态变量,全局变量,常量的实现

最近在读php7内核,本文是由《PHP7内核剖析》整理而来。 静态变量 PHP中局部变量分配在zend_execute_data结构上,每次执行zend_op_array都会生成一个新的zend_execute_data,局部变量在执行之初分配,然后在执行结束时释放,这是局部变量的生命周期,而...

2019-01-06 15:29:46

阅读数 168

评论数 0

【php7内核】数组的实现

       数组是PHP中非常强大、灵活的一种数据类型,它的底层实现为散列表(HashTable,也称作:哈希表),除了我们熟悉的PHP用户空间的Array类型之外,内核中也随处用到散列表,比如函数、类、常量、已include文件的索引表、全局符号表等都用的HashTable存储。散列表是根据关...

2019-01-05 16:37:37

阅读数 281

评论数 0

【php7内核】变量的内部实现

最近在读php7内核,本文是由《PHP7内核剖析》整理而来。 变量的内部实现 变量是一个语言实现的基础,变量有两个组成部分:变量名、变量值,PHP中可以将其对应为:zval、zend_value,这两个概念一定要区分开,PHP中变量的内存是通过引用计数进行管理的,而且PHP7中引用计数是在ze...

2019-01-05 10:19:49

阅读数 51

评论数 0

提示
确定要删除当前文章?
取消 删除