知识大全 Linux下C语言对PHP扩展

Posted 语言

篇首语:此刻打盹,你将做梦;而此刻学习,你将圆梦。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Linux下C语言对PHP扩展相关的知识,希望对你有一定的参考价值。

Linux下C语言对PHP扩展  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  一 搭建php环境

  下载php 源码 并解压

  编译安装 搭建php环境

  二 创建扩展项目

  进入源码目录

  cd php /ext/

   /ext_skel extname=my_ext

  创建名字为my_ext的项目 最终会生成my_ext so

  三 更改配置和程序

  $ vi ext/my_ext/config m

  根据你自己的选择将

  dnl PHP_ARG_WITH(my_ext for my_ext support

  dnl Make sure that the ment is aligned:

  dnl [ with my_ext Include my_ext support])

  修改成

  PHP_ARG_WITH(my_ext for my_ext support

  Make sure that the ment is aligned:

  [ with my_ext Include my_ext support])

  或者将

  dnl PHP_ARG_ENABLE(my_ext whether to enable my_ext support

  dnl Make sure that the ment is aligned:

  dnl [ enable my_ext Enable my_ext support])

  修改成

  PHP_ARG_ENABLE(my_ext whether to enable my_ext support

  Make sure that the ment is aligned:

  [ enable my_ext Enable my_ext support])

  $ vi ext/my_ext/php_my_ext h

  将

  PHP_FUNCTION(confirm_my_ext_piled); /* For testing remove later */

  更改为

  PHP_FUNCTION(say_hello);

  $ vi ext/my_ext/my_ext c

  将

  zend_function_entry php cpp_functions[] =

  PHP_FE(confirm_my_ext_piled NULL) /* For testing remove later */

  NULL NULL NULL /* Must be the last line in php cpp_functions[] */

  ;

  更改为

  zend_function_entry php cpp_functions[] =

  PHP_FE(say_hello NULL)

  NULL NULL NULL /* Must be the last line in php cpp_functions[] */

  ;

  在最后添加

  PHP_FUNCTION(say_hello)

  

  zend_printf( hello world\\n );

  

  四 编译

  $ cd my_ext

  $ /usr/local/php/bin/phpize

  ps: 如果出现 Cannot find autoconf ……的错误信息 则需要安装 autoconf (安装过程略)

  $ /configure with php config=/usr/local/php/bin/php config

  $ make

  这时会编译出 my_ext/modules/my_ext so

  五 配置php ini

  将my_ext so放入/usr/local/php/ext/目录

  $ vi php ini

  修改添加如下

  extension_dir = /usr/local/php/ext/

  extension=my_ext so

  六 测试

  $ vi test php

  <?php

  say_hello();

  ?>

  $ /usr/local/php/bin/php test php

  hello world

cha138/Article/program/PHP/201311/20822

相关参考

知识大全 linux下php扩展mysqli的支持

  前两天一个站点转移过来因为给我的数据库有问题我也没有仔细处理这个站点今天把数据库弄好了发现还是用不了报的错误如下Fatalerror:Classmysqlinotfoundin原来是我之前在编译p

知识大全 Linux系统安装php扩展cURL

Linux系统安装php扩展cURL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Linux作

知识大全 一起学习在linux下使用汇编语言(3)

  作者luster  摘要:NeideAsseblerProject计划提供了一个非常好用的i汇编器这个汇编器是用C写的可以支持很多种对象文件格式  今天我们接着看看还有其他什么可以选择的汇编编译器

知识大全 Linux下Apache+PHP+MySql+Cgi

Linux下Apache+PHP+MySql+Cgi  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Linux下安装PHP,APACHE,MYSQL,PERL方法

Linux下安装PHP,APACHE,MYSQL,PERL方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 Linux下PHP删除一个目录下所有文件夹和子目录

Linux下PHP删除一个目录下所有文件夹和子目录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 一起学习在linux下使用汇编语言(1)

  作者luster  摘要我开始学习在Linux使用汇编语言了我以前从来没有在Linux下使用过汇编语言我今天看到了一份文档是LinuxAssemblyHOWTO我看了看决定学习学习下面是我的学习笔

知识大全 Linux下通过C++语言代码来操作MySQL数据库

Linux下通过C++语言代码来操作MySQL数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 一起学习在linux下使用汇编语言(5)

  作者luster  摘要:好吧我们已经铺垫了很多东西了而且看上去用汇编写程序似乎是一个非常恐怖的事情了不过既然我们感兴趣还是应该开始我们的helloworld程序  我们开始写helloworld

知识大全 解析php扩展php

  方法一(已通过测试)已经内置有php_curldll在ext目录下此DLL用于支持SSL和zlib在phpini中找到有extension=php_curldll去掉前面的注释设置extensio