1. 阿里云>
  2. 云栖社区>
  3. 主题地图>
  4. S>
  5. STRINGL

当前主题:STRINGL

PHP内核介绍及扩展开发指南—Extensions 的编写

Extensions 的编写 理解了这些运行机制以后,本章着手介绍Extensions 的编写,但凡写程序的人都知道hello world,那好,就从hello world开始。 1.1Hello World 这是摘自《PHP手册》的示例程序: /* incl

阅读全文

php内核分析(五)-zval

这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux 实际上,从这个函数开始,就已经进入到了zend引擎的范围了。 zend_eval_string_ex(exec_direct, NULL, "Command line code",

阅读全文

使用 Rust 创建 PHP 扩展

去年十月,我和 Etsy 的同事有过一个关于如何为像PHP样的解释性语言写拓展的讨论,Ruby或Python目前的状况应该会比PHP容易。我们谈到了写一个成功创建扩展的障碍是它们通常需要用C来写,但是如果你不擅长C这门语言的话很难有那个信心。 从那时起我便萌生

阅读全文

PHP扩展迁移为兼容PHP7记录

PHP7扩展编写的时候,提供的一些内核方法和之前的PHP之前的版本并不能完全兼容。有不少方法参数做了调整。下面是在迁移过程中遇到的一些问题。记录下来,避免大家再踩坑。 PHP7扩展开发之hello word 白话PHP7扩展开发之创建对象 add_assoc_

阅读全文

php内核分析(八)-zend_compile

这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux 回到之前看的zend_eval_stringl ZEND_API int zend_eval_stringl(char *str, size_t str_len, zval *ret

阅读全文

阿里云常见问题分析与解答

1、网站纯静态页面和伪静态页面有何区别 纯静态,就是服务器上有个html文件,不需要任何处理,直接返回客户端 伪静态,从客户端上看,好像在请求一个文件,但是其实是服务器动态生成的 虽然看网址看不出来,但是明显一些内容是必须动态合成才能产生的就不可能是真的静态文

阅读全文

在 oss php sdk进行crc64校验

背景 使用oss php sdk上传下载文件时为了确保数据的一致性,可以使用crc64校验,与使用md5相比,crc64可以便上传/下载边校验。oss是同时支持这两种校验的 总所周知,php计算能力弱的特征,本文章还提供一种在php中嵌入c代码实现crc64

阅读全文

PHP内核介绍及扩展开发指南—高级主题

1.1 使用数组 曾讲到,PHP数组本质上就是个HashTable,因此访问数组就是对HashTable进行操作,Zend为我们提供的一组数组函数也只是对HashTable操作进行了简单包装而已。 来看创建数组,由于数组也是存在于zval里的,因此要先用MAK

阅读全文

STRINGL相关问答

提问题

php的RETURN_STRINGL使用静态字符串报错,什么原因?

我的c基础不是很好,还请知道的能详解一下,谢谢 如果我直接使用类似如下的代码,就会出segfault错误 ``` char* ret = "hello world"; RETURN_STRINGL(ret, strlen(ret), 0); ```

阅读全文

请教PHP扩展如何访问常量属性?

请问:在php扩展中用`zend_declare_class_constant_stringl`定义的常量属性 怎么访问? 我用`zend_read_static_property`和`zend_read_property`都不行?

阅读全文

求教php扩展中实例化对象并调用方法

使用函数宏call_user_function调用类中的方法: 如下: ``` ZEND_FUNCTION(call_say){ //调用myclass中的say方法 zval *obj,*method_construct,*method_say,*

阅读全文