当前位置:  开发笔记 > 编程语言 > 正文

php在什么情况下需要用c扩展了,求大牛指导,说一下具体的应用场景,十分感激!

php在什么情况下需要用c扩展了,求大牛指导,说一下具体的应用场景,十分感激!
php在什么情况下需要用c扩展了,求大牛指导,说一下具体的应用场景,十分感激!

回复内容:

php在什么情况下需要用c扩展了,求大牛指导,说一下具体的应用场景,十分感激!

  • 遇到性能瓶颈时进行性能优化,比如密集计算、大量字符串处理等等
  • 跨进程通信、共享数据,比如全局数据表、配置文件、数据库连接池等等
  • php中需要用到一些本地C库或可执行文件中的功能,这些功能又没有PHP实现,比如imagemagick这种图片处理工具

我根据实际遇到的事说一下吧,我做个两次扩展,一次是调用公司的一个ID生成程序,程序是C写的(内部有些成熟的算法,拿PHP再写一遍反而麻烦);另一次是要用到 V8JS 但是它又偏偏不能完全满足我们的需求,所以改了下源码(其实这已经不算自己扩展,还是从 PECL 拿来的)。

我觉得什么性能、进程通讯、共享数据其实都不是必须要扩展。1.你究竟需要PHP提升多少性能呢?PHP的优势在WEB开发方便,成熟的组件和框架多,而非性能 2.进程通讯有pcntl和posix,信号、管道都不在话下(不过老实说不如perl多进程来的爽) 3.共享数据找个NoSQL数据库更适合,如果需要实时处理得,消息队列之类的应用也不少。

所以,我觉得真正需要扩展的主要还是受环境所迫,有个程序自己人搞的,他偏偏就没有PHP版,你怎么办呢。当然也可能因为性能的考虑部分核心组件用C写,但是有这样要求的项目似乎极少,至少我经历的工作,如果一定要求高性能的都上分布式计算了,通过自定接口或消息队列交互数据,或者计划任务定时触发,或者任务队列批量处理,根本不会与web系统混合在一起。

生成激活码什么的,加解密的函数用c写了扩展

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有