书栈网 · BookStack 本次搜索耗时 0.015 秒,为您找到 13 个相关结果.
  • Embed

    1059 2019-03-08 《PHP-X 文档手册》
    Embed 编写程序 编译程序 Embed 在C++ 程序中可以内嵌一个ZendVM ,实现与PHP 程序的交互。需要依赖PHP 官方的embed 模块。编译PHP 时需要增加—enable-embed 参数。 编写程序 #include "phpx_embed.h" #include <iostream> using ...
  • 实现原理

    实现原理 示例代码 运行过程 协程开销 压力测试 实现原理 Swoole-2.0 基于setjmp 、longjmp 实现,在进行协程切换时会自动保存Zend VM 的内存状态(主要是EG 全局内存和vm stack )。 setjmp 和longjmp 主要是用于从ZendVM 的C 堆栈跳回Swoole 的C 回调函数 协程的创建、切...
  • Array

    801 2019-03-08 《PHP-X 文档手册》
    Array 数字索引数组 关联索引数组 Array Array 类型是ZendVM底层zend_array 和HashTable 的封装。提供了非常方便的数组操作API 数字索引数组 Array arr ; arr . append ( 1234 ); arr . append ( 1234.56 ); arr . appen...
  • 第五节 魔术方法,延迟绑定及静态成员

    第五节 魔术方法,延迟绑定及静态成员 魔术函数和魔术方法 魔术方法 __construct __destruct call与 callStatic __call: __callStatic: 其他魔术方法 延迟绑定 第五节 魔术方法,延迟绑定及静态成员 PHP中有一些特殊的函数和方法,这些函数和方法相比普通方法的特殊之处在于: 用户...
  • Swoole协程之旅-后篇

    Swoole协程之旅-后篇 Swoole协程之旅-后篇  本篇我们开始深入PHP来分析Swoole协程的驱动部分,也就是C栈部分。  由于我们系统存在C栈和PHP栈两部分,约定名字: C协程 C栈管理部分, PHP协程 PHP栈管理部分。 增加C栈是4.x协程最重要也是最关键的部分,之前的版本种种无法完美支持PHP语法也是由于没有保存C栈信息。...
  • 扩展工程

    1678 2019-03-08 《PHP-X 文档手册》
    扩展工程 环境依赖 编译安装 MacOS 扩展工程 PHP-X是一个基于PHP ZendVM的C++封装层,可以基于PHP-X开发PHP扩展、C++嵌入PHP、PHP SAPI等程序。PHP-X可以大大降低PHP内核扩展开发的难度,提升效率。 开源中国码云:http://git.oschina.net/swoole/PHP-X Githu...
  • Variant

    1055 2019-03-08 《PHP-X 文档手册》
    Variant 赋值 构造方法 Variant Variant 类型相当于ZendVM的zval 结构,是对PHP变量的封装。 赋值 Variant 底层实现了操作符重载,可以直接对其赋值。 Variant a = 1234 ; Variant b = 1234.56 ; Variant c = false...
  • 使用 asan 内存检测

    使用 asan 内存检测 编译 PHP 编译 Swoole 关闭内存泄漏检测 使用 asan 内存检测 高版本gcc 和clang 支持asan 内存检测,与valgrind 相比asan 消耗非常低,甚至可以直接在生产环境中启用asan 排查跟踪内存问题。 使用asan 特性,必须将PHP 也编译为asan ,否则运行时会报错。 编译...
  • 附录

    附录 附录 个人对yield与coroutine的理解与总结,有问题欢迎指正。 在上文半协程中: 从抽象角度可以将「yield」理解成为CPS变换的语法糖,yield帮我们优雅的链接了异步任务序列; 从控制流角度可以将「yield」理解为将程序控制权从callee(Generator)转移到caller,只有借由底层eventloop驱动,将控...
  • Runtime

    Runtime 函数原型 可用列表 不可用列表 使用实例 方法摆放位置 Runtime 在4.1.0 版本中,底层增加一个新的特性,可以在运行时动态将基于php_stream 实现的扩展、PHP 网络客户端代码一键协程化。底层替换了ZendVM Stream 的函数指针,所有使用php_stream 进行socket 操作均变成协程调度的...