zoukankan      html  css  js  c++  java
  • linux php 扩展

    第一步:安装php5

    第二步:打开终端【为来方便,这里使用root用户】,使用CD命令进入到php5源码包的ext目录

    第三步:在终端键入以下命令

    ./ext_skel --extname=extest

    我们的扩展库名叫“extest”,此命令执行后会在ext目录新建一个extest目录。

    第四步:回到终端,使用CD命令进入extest目录,键入以下命令/var/web/php/bin/phpize

    这是站长的phpize的目录,你需要修改成你自己的。运行完之后会在extest目录生成config.m4以及config.w32(windows底下使用),以及configure程序。

    双击打开extest目录,打开php_extest.h文件,找到PHP_FUNCTION(confirm_extest_compiled);

    在这一行的上面添加PHP_FUNCTION(extest_add);保存后退出。

    这里是我们要为extest库编写的add函数到声明。

    第五步:打开extest.c文件,找到const zend_function_entry extest_functions[],往下看3行,在PHP_FE_END的上面一行添加PHP_FE(extest_add,   NULL),在文件的最后添加函数实现到代码:

    点击(此处)折叠或打开

    复制代码
    PHP_FUNCTION(extest_add){
    long int a,b,c;
    if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,"ll",&a,&b )==FAILURE){
    return;
    }
    c=a+b;
    RETURN_LONG(c);
    }
    复制代码
    保存后退出。

    第六步:打开config.m4文件,找到
    PHP_ARG_ENABLE(caleng_module, whether to enable caleng_module...和
    [  --enable-caleng_module           Enable caleng_module support])两行,删除前面的dnl打开。

    第七步:回到终端,使用CD命令进入extest目录,键入命令:

    ./configure --with-php-config=/var/web/php/bin/php-config

    make

    make install

    /var/web/php/bin/php-config这是站长php-config文件的目录,你应该修改成自己的。

    编译顺利的话,在extest/moduels目录和/var/web/php/lib/php/extensions/no-debug-non-zts-20090626目录会产生一个extest.so文件。

    第八步:打开php.ini,添加extension=extest.so,保存退出。

    第九步:如果你用的是apache,重启apache。如果你用的是nginx+php-fpm,需要重启php-fpm。

    如何重启php-fpm?站长没有做重启设置,应此只好先杀死php-fpm的进程在重新启动了。

    打开/var/web/php/var/log/php-fpm.log,定位到文档最后,查看php-fpm到进程号,我的是2156.

    回到终端,使用命令kill 2156杀死php-fpm进程。

    然后重启php-fpm,回到终端使用CD命令进入/var/web/php/sbin目录,使用./php-fpm重启php-fpm。

    第十步:测试扩展库。新建一个index.php文件,代码如下:

    <?php

    echo extest_add(1,2);

    phpinfo();

    ?>

  • 相关阅读:
    2019-03-18 使用Request POST获取CNABS网站上JSON格式的表格数据,并解析出来用pymssql写到SQL Server中
    2019-03-18 Python time 将2015年11月20日转换为2015-11-20
    2019-03-15 使用Request POST获取中加基金的PDF文件,并下载到本地
    2019-03-15 使用Request POST获取CNABS网站上JSON格式的表格数据,并解析出来用xlwt写到Excel中
    2019-03-15 Python time datetime 获取当下时间 和 格式化时间
    2019-03-14 Python爬虫问题 爬取网页的汉字打印出来乱码
    2019-02-25 SQL:cast(itemvalue as decimal(19,4))
    js设计模式
    css动画库
    React学习笔记
  • 原文地址:https://www.cnblogs.com/wzf365/p/3957921.html
Copyright © 2011-2022 走看看