PHP 模块编写需要注意的一个问题---- php模块及函数名都定义成小写吧
浏览:3258次 出处信息
我们写了一个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模块 (阅读:11489)
- Nginx模块开发入门 (阅读:9602)
- nginx模块开发 (阅读:4424)
- windows批量重命名文件名,自动修改大小写 (阅读:4184)
- CommonJS 的模块系统,AMD 和 Wrappings, 以及 RequireJS (阅读:4063)
- 搭好了apache模块的开发环境 (阅读:3280)
- 使用 Perl 来开发 Nginx 的模块 (阅读:3200)
- FarmVille(美版开心农场)谈架构:所有模块都是一个可降级的服务 (阅读:3154)
- mysql数据库表名的大小写问题 (阅读:2967)
- php无法加载pcre.so的解决办法 (阅读:2894)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
文章信息
- 作者:phpor 来源: PHPor 的Blog
- 标签: 大小写 模块
- 发布时间:2010-04-16 13:27:10
建议继续学习
近3天十大热文
- [745] WEB系统需要关注的一些点
- [21] 移动音乐产品梳理
- [17] 哪本书是对程序员最有影响、每个程序员都该阅读
- [16] Chrome开发者工具的小技巧
- [16] 豆瓣是啥?
- [14] 内存的惰性初始化
- [12] sns视觉设计分享
- [12] 这些反人类设计,你肯定也碰到过
- [11] 一张图帮你看懂 iPhone 的屏幕分辨率
- [11] 修改系统最大文件句柄数