zoukankan      html  css  js  c++  java
  • php 学习编译扩展

    原文 : http://kimi.it/496.html

    系统环境 : Ubuntu 

    目标 : 可以像 php 提供的内部函数一样,使用 myecho 函数 :

    输出如下 :

    1. 获取 php 的源码 : http://php.net/downloads.php  ,  选择一个适合的版本 ,比如 : php-7.0.2.tar.gz.

    2.  解压 : tar xvf php-7.0.2.tar.gz -C install-dir 

    3.  切换到 install-dir / ext 目录下,新建文件 myphpext.skel ,编辑内容如下,保存退出:

     

    4. install-dir / ext 目录下,执行:

     

    5. 切换到 install-dir / ext / myphpext 目录下 ,编辑 config.m4 文件,搜索 PHP_ ARG_WITH :

    原来的内容:

    修改后:

    6.  install-dir / ext / myphpext 目录下,编辑 php_myphpext.php ,增加 PHP_FUNCTION(myecho)  :

    6. 编辑 myphpext.c 文件,修改 PHP_FUNCTION(myecho) 的内容为如下:

    7.  install-dir / ext / myphpext 目录下,运行 phpize , 生成 configure 等相关的配置文件:

    8. install-dir / ext / myphpext 目录下,运行 ./configure  --with-php-config=/usr/bin/php-config  ,生成 MakeFILE 等文件 :

    9 .install-dir / ext / myphpext 目录下 , 运行 make,进入编译阶段 :

    10. 如果没出错的话,在 install-dir / ext / myphpext / modules 目录下,生成了 myphpext.so 文件.

    11. 本机的 php 的 extension_dir 和 php.ini 的目录如下:

     

     拷贝 myphpext.so 文件到 /user / lib / php / 20151012 目录下,编辑 php.ini 文件, 加入 extension=myphpext.so  语句.

    学习记录,方便复习
  • 相关阅读:
    Kotlin系列之序列(Sequences)源码完全解析
    JVM不稳定参数
    akka共享内存
    内存占用过高 kill 调整mysql内存占用
    系统级监控
    linux环境变量
    进程启动,崩溃异常日志++++
    JVM致命错误日志(hs_err_pid.log)分析
    批处理之坑爹的感叹号和变量延迟扩展
    kafka消费端
  • 原文地址:https://www.cnblogs.com/jingjingdidunhe/p/7217075.html
Copyright © 2011-2022 走看看