随笔分类 - PHP
摘要:PHP-CPP是一个用于开发PHP扩展的C++库。本节讲解一些杂项。 读取php.ini配置 从php.ini文件中读取设置就像从常规PHP脚本中获取这些设置一样简单。在PHP脚本中,我们可以使用内置的ini_get()函数从php.ini文件中读取设置,在C++扩展中使用Php::ini_get(
阅读全文
摘要:本文旨在给要学习 PHP 的新手一个大概的认知轮廓,在心里有个学习的结构,有的放矢,避免走太多弯路。大神请忽略。 入门阶段 预备知识 1、掌握基本HTML、JS、CSS语法;熟悉 Bootstrap。 参考: https://www.runoob.com/html/html tutorial.htm
阅读全文
摘要:注:源码版本:php5.6.33。 函数简介 原型: 说明:将一个字符串转换为数组。 参数: 为输入字符串。 是每一段的长度。 使用范例 : 以上例程会输出: 对应的C源码在 5568行。这里我贴出来: zend_parse_parameters 首先看参数解析部分: 1、第一个参数我们使用默认值。
阅读全文
摘要:PHP CPP是一个用于开发PHP扩展的C++库。本节讲解在C++中PHP异常、变量、常量的实现相关知识。 异常 PHP和C++都支持异常,而PHP CPP库这两种语言之间的异常处理是完全透明的。你在C++中抛出的异常会自动传递给PHP脚本,并且你的C++代码可以捕获PHP脚本抛出的异常,就像它是普
阅读全文
摘要:PHP CPP是一个用于开发PHP扩展的C++库。本节讲解如何在C++中实现PHP类。 类和对象 类和对象 怎样在PHP CPP里写出PHP的类呢?很简单,看下面的例子: 首先,C++类必须继承自 ;其次,当我们将类添加到扩展对象时,还必须指定要从PHP访问的所有方法;最后再注册导出类。 我们先测试
阅读全文
摘要:PHP CPP是一个用于开发PHP扩展的C++库。本节讲解如何在C++中调用PHP函数。 调用PHP函数 调用普通函数 调用类里方法: 我们使用test.php进行测试: php
阅读全文
摘要:PHP CPP是一个用于开发PHP扩展的C++库。本节讲解PHP函数形参相关的实现。 指定函数参数类型 有时候,我们需要指定函数的形参是数组或者指定的,那么在PHP CPP里是否可以指定函数的参数类型呢?答案是可以的。 按值传递 示例: 我们使用 进行指定函数类型,示例里分别指定为 和自定义类类型。
阅读全文
摘要:PHP CPP是一个用于开发PHP扩展的C++库。本节讲解PHP输出和函数的实现。 输出和错误 上面的helloworld示例里,我们使用 进行输出,并使用了 换行刷新缓冲。 变量其实是 类的一个实例,支持PHP中设置的所有输出缓冲。它与PHP脚本中的 函数基本相同。 几个常用的方法说明: 显示刷新
阅读全文
摘要:PHP CPP是一个用于开发PHP扩展的C++库。PHP CPP提供了一系列完善的文档、易于使用和扩展的类,让你可以相对快速的创建PHP的原生扩展。 系列笔记: "PHP CPP开发扩展(七)" "PHP CPP开发扩展(六)" "PHP CPP开发扩展(五)" "PHP CPP开发扩展(四)" "
阅读全文
摘要:学习准备 Linux 或者 Mac 环境; 安装有 Sockets 扩展; 了解 TCP/IP 协议。 socket函数只是PHP扩展的一部分,编译PHP时必须在配置中添加 配置项来启用。 如果自带的PHP没有编译scokets扩展,可以下载相同版本的源码,进入 使用 编译安装。 socket系列函
阅读全文
摘要:Swoole 里也提供了一些直接操作底层 事件循环的接口,可将其他扩展创建的 、PHP代码中 扩展创建的 等加入到Swoole的 中。 文档:https://wiki.swoole.com/wiki/page/242.html 这里我也简单介绍一下。 基本使用 说明: 回调函数没有参数, 回调函数参
阅读全文
摘要:Event扩展 Event可以认为是替代libevent最好的扩展,因为libevent已经很久不更新了,而Event一直在更新,而且Event支持更多特性,使用起来也比libevent简单。 Event地址: http://pecl.php.net/package/event Event文档: h
阅读全文
摘要:Libevent 是一个用C语言编写的、轻量级的开源高性能I/O框架,支持多种 I/O 多路复用技术: epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。PHP提供了对应的扩展 "libevent" 、 "Event"
阅读全文
摘要:前面几节都是讲解pcntl扩展实现的多进程程序。本节给大家介绍swoole扩展的 模块。 swoole多进程 swoole_process 是swoole提供的进程管理模块,用来替代PHP的pcntl扩展。 首先,确保安装的swoole版本大于1.7.2: 注意:swoole_process在最新的
阅读全文
摘要:本节主要讲解Posix常用函数和进程池的概念,也会涉及到守护进程的知识。本节难度较低。 Posix常用函数 posix_kill 向指定pid进程发送信号。成功时返回 , 或者在失败时返回 。 ,可以检测进程是否存在,不会发送信号。 示例: 注:通过 可以看到Linux下所有的信号常量。 posix
阅读全文
摘要:本节讲解几个多进程的实例。 多进程实例 Master Worker结构 下面例子实现了简单的多进程管理: 支持设置最大子进程数 Master Worker结构:Worker挂掉,Master进程会重新创建一个 ~~~防盗版声明:本文系原创文章,发布于公众号 (fhyblog)及 "博客园" ,转载需
阅读全文
摘要:上一篇文章讲解了 和`pcntl_wait`两个函数的使用,本篇继续讲解PHP多进程相关新知识。 僵尸(zombie)进程 这里说下僵尸进程: 僵尸进程是指的父进程已经退出,而该进程dead之后没有进程接受,就成为僵尸进程(zombie)进程。任何进程在退出前(使用exit退出) 都会变成僵尸进程(
阅读全文
摘要:本系列文章将向大家讲解 系列函数,从而更深入的理解进程相关知识。 PCNTL在PHP中进程控制支持默认是关闭的。您需要使用 配置选项重新编译PHP的 CGI或CLI版本以打开进程控制支持。 如果自带的PHP没有安装pcntl扩展,可以下载相同版本的源码,进入 使用 编译安装。 Note: 此扩展在
阅读全文
摘要:上一篇文章里,我们介绍了如何基于xhprof扩展来分析PHP性能,并记录到日志里,最后使用xhprof扩展自带的UI在web里展示出来。本篇文章将讲述2个知识点: 使用xhgui代替xhprof的默认UI界面,更便于分析 使用tideways扩展替换xhprof扩展 使用更漂亮的UI: xhgui
阅读全文
摘要:安装xhprof扩展 配置php.ini 注:xhprof已经很久没有更新过了,截至目前还不支持php7,php7可以使用 https://github.com/phacility/xhprof.git。 配置xhprof环境 需要把xhprof压缩包里的两个目录复制到指定目录(假设定义到 ): 然
阅读全文