PHP 模块编写需要注意的一个问题---- php模块及函数名都定义成小写吧
浏览:3422次 出处信息
我们写了一个PHP模块String2Hash,其实里面只有一个函数叫: String2Hash() ,只是要将一个字符串hash成一个整数,由于PHP中的整型都是有符号的,该算法涉及移位,求和,求模,等操作,用PHP实现比较麻烦,就用C写了一个PHP的模块。
编译完之后,执行:
php --re String2Hash
就报错如下:
PHP Warning: Internal error: Cannot find extension function String2Hash in global function table in Unknown on line 0
虽然有警告,但是该模块时可以正常加载和使用的; 一般来讲,程序员只关心error,不关心Warning的,但是我就想知道个究竟。
第一步: 先做一个helloworld模块,这个完全是生成的,只有很少的修改,结果是没有报错的。
第二步: 将自己的函数添加进去,开始报错。
第三步: 将自己的函数重命名为myhash, 编译不再报错。问题基本出现在函数名上了。可能是大小写的问题吧?突然想到报错提示,可能是global function table这个数组的key是区分大小写的?
第四步: 将String2Hash 重命名为string2hash, 为了保险,将所有出现的地方都改成小写吧,反正PHP函数是不区分大小写的,改成小写也无妨。 编译不再报错,测试通过,问题解决
have fun!!!
建议继续学习:
- 在Apache2.2.XX下安装Mod-myvhost模块 (阅读:11818)
- Nginx模块开发入门 (阅读:9997)
- nginx模块开发 (阅读:4708)
- windows批量重命名文件名,自动修改大小写 (阅读:4344)
- CommonJS 的模块系统,AMD 和 Wrappings, 以及 RequireJS (阅读:4235)
- 搭好了apache模块的开发环境 (阅读:3552)
- 使用 Perl 来开发 Nginx 的模块 (阅读:3354)
- FarmVille(美版开心农场)谈架构:所有模块都是一个可降级的服务 (阅读:3336)
- mysql数据库表名的大小写问题 (阅读:3127)
- php无法加载pcre.so的解决办法 (阅读:3071)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
文章信息
- 作者:phpor 来源: PHPor 的Blog
- 标签: 大小写 模块
- 发布时间:2010-04-16 13:27:10
建议继续学习
近3天十大热文
- [70] IOS安全–浅谈关于IOS加固的几种方法
- [69] Twitter/微博客的学习摘要
- [64] 如何拿下简短的域名
- [63] Go Reflect 性能
- [63] android 开发入门
- [61] find命令的一点注意事项
- [59] 流程管理与用户研究
- [58] Oracle MTS模式下 进程地址与会话信
- [58] 读书笔记-壹百度:百度十年千倍的29条法则
- [58] 图书馆的世界纪录