进入CSDN的第一篇文章,PHP拓展开发

进入CSDN的第一篇文章,PHP拓展开发

        我是一个新入坑的PHPER,我在编程的道路上坎坷无数,直到我遇到了PHP,PHP的简单是真的可以靠这个迅速学习并以此谋生,我也是想靠这PHP的基础扩展我的的技术圈,比如Java,安卓,python,C/C++等等,兴趣爱好在这块现在又找到一份不错稳定的工作,我决定开通CSDN,通过这个网站来记录我的编程生涯,和各种代码坑,和大家一起讨论并解决问题。
        我在PHP开发中没有遇到过多的技术问题,不过我遇到了技术瓶颈,如何提升自己的PHP技术能力,或者说自己的编程能力,我思考了一段时间(再加上百度),我找到了比较适合我的方法,大家可以参考。
        研究PHP内核来提升自己,不过在此基础上PHP单独看内核文档和资料书籍肯定是远远不够的,然后我把目光放到了PHP的拓展开发,通过研究内核提升自己的理论水平,通过拓展开发来解除枯燥的理论学习时间。

正题

        我在研究PHP拓展开发的时候遇见了几个问题

  1. C语言能力不足
  2. PHP内核理论知识不足
  3. 网上的资料不够细致(我个人比较马虎看的不细)

1.C语言能力不足
        我自从发现了这个问题,我开始缓慢的学习C,因为C的学习不是最终目的,最终目的是PHP的拓展,一个HelloWolrd拓展,我没有花大精力去学习

2.PHP内核理论知识不足
        这个部分没有办法,只有学习,看资料,啃书

3.网上的资料不够细致
        这是我学习的重点,也是想为后来学习PHP拓展的人做的贡献
我希望通过我的学习吧,资料一点一点完善,发布到CSDN

拓展开发实操

我遇到了开发中的第一个问题,如何入手,开发一个HelloWorld!
查询资料,百度,Google,找了一遍。找到一些可用的资料,进行查看
运行文件生成PHP内核骨架

原文是这样的

##本例用的是php7.1.1
cd ext
./ext_skel --extname=helloworld

我实际运行是无效的,命令行会告诉你ext_skel不是内部或外部命令

我后来经过一天断断续续的学习后调整得到下面的命令行命令

##需要提前设置好PHP环境变量
##我使用的是php7.2.1
##进入PHP源码目录
##进入ext目录
##运行PHP运行ext_skel_win32.php
cd ext
php ext_skel_win32 --extname=helloworld

然后得到结果sh不是内部或外部命令
我直接百度得到了结果
要下载cygwin(cygwin是一个在windows平台上运行的类UNIX模拟环境)才能使用(这个应用一定要谨慎选择,很大,我下了150多G)
然后设置
修改“php ext_skel_win32.php”中的配置:$cygwin_path = ‘c:\cygwin64\bin’; (改为你cygwin的实际路径)。
找到然后修改就好了

##打开php ext_skel_win32.php
##找到$cygwin_path
##直接修改实际路径就好了
$cygwin_path = 'c:\cygwin64\bin'; 

再次运行

##需要提前设置好PHP环境变量
##我使用的是php7.2.1
##进入PHP源码目录
##进入ext目录
##运行PHP运行ext_skel_win32.php
cd ext
php ext_skel_win32 --extname=helloworld

就直接生成拓展骨架了
修改这个拓展内部的config.m4(PHP源码ext文件夹下刚刚创建骨架名文件夹下)

##动态编译选项,通过.so的方式链接,去掉dnl注释:

PHP_ARG_WITH(helloworld, for helloworld support,
Make sure that the comment is aligned:
[  --with-helloworld             Include helloworld support])

##静态编译选项,通过enable来启用,去掉dnl注释:

 PHP_ARG_ENABLE(helloworld, whether to enable helloworld support,
 Make sure that the comment is aligned:
 [  --enable-helloworld           Enable helloworld support])
复制代码

然后编译(其实我还没到编译这一块)
之后的内容还没有测试
我的hello world拓展成功运行我会单独再发一篇博文

猜你喜欢

转载自blog.csdn.net/qq_37845204/article/details/84236777
今日推荐