通过在php的源代码里面添加c方法,加完后再编译成os或dll文件,替换掉原来的扩展,是不是就可以达到在系统中增加自己的功能的目的呢?
注意我说的是C扩展。
通过在php的源代码里面添加c方法,加完后再编译成os或dll文件,替换掉原来的扩展,是不是就可以达到在系统中增加自己的功能的目的呢?
注意我说的是C扩展。
是的,你想的想法很正确。注意,这里不是PHP的源码,而是PHP内核的C语言源码。
就像 @tim1020 说的,确实有一些C实现的PHP扩展。例如现在比较火的Swoole,本质上也是PHP的扩展。
但是如果你对C美誉那么高深的理解,并且没有研究过PHP的内核,不建议自己写,容易出BUG。
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读
2 回答1.2k 阅读
2 回答930 阅读
绝大部分情况下,使用C扩展来开发自己的功能都不是一个好的选择。注意我说的是自己的功能。
当然,现在也有不少优秀的开源项目是用C扩展做的,比如yaf, Phalcon等。
但如果你的php项目中,如果仅用php解决不了问题,那可以有更多其它的选择,比如用C或java等写服务给php来调用。
如果你真想这么干,网上也有不少例子(包括我上面说的开源项目), 也可以看看这个 https://segmentfault.com/a/11...
ps. 我个人就写过hello world和一个自定义的加解密函数外,就没这么玩过了。