搜尋
首頁php教程php手册php如何调用c接口无错版

php如何调用c接口无错版

Jun 13, 2016 am 09:15 AM
php下載如何介面呼叫進入首先

php如何调用c接口无错版

 1.首先是要安装好PHP

 

2.进入PHP的下载解压目录下的ext目录

#cd /root/php-5.3.6/ext

#./ext_skel --extname=hmc

 

说明:

./ext_skel --extname=module_name
module_name是你自己可以选择的扩展模块的名字,例如我选择的hmc。执行工具后会自动在ext目录下建立你选择的module_name名字的目录,里面已经生成了相关的代码,这些代码中只需要调整config.m4文件中的三行注释就可以正常的编译带这个自定义扩展模块的php了。

 

3.修改config.m4

可以将生成的module目录复制到任意希望放置的地方

进入hmc目录

vi config.m4

使用文本编辑器打开config.m4文件

根据你自己的选择将

dnl PHP_ARG_WITH(hmc, for hmc support,

dnl Make sure that the comment is aligned:

dnl [ --with-hmc Include hmc support])

修改成

PHP_ARG_WITH(hmc for hmc support,

Make sure that the comment is aligned:

[ --with-hmc Include hmc support])

或者将

dnl PHP_ARG_ENABLE(hmc, whether to enable hmc support,

dnl Make sure that the comment is aligned:

dnl [ --enable-hmc Enable hmc support])

修改成

PHP_ARG_ENABLE(hmc, whether to enable hmc support,

Make sure that the comment is aligned:

[ --enable-hmc Enable hmc support])



一般我会选择后者,然后保存退出。

 

4.修改.c和.h文件代码

Vi hmc.c

将文件其中的下列代码进行修改

/* Every user visible function must have an entry in hmc_functions[].

*/

const zend_function_entry hmc_functions[] = {

PHP_FE(say_hello, NULL) /* 添加着一行代码 */

PHP_FE(confirm_hmc_compiled, NULL) /* For testing, remove later. */

{NULL, NULL, NULL} /* Must be the last line in hmc_functions[] */

};



在文件的最后添加下列代码

PHP_FUNCTION(say_hello)

{

zend_printf("hello world\n");

}

保存文件退出



vi php_hmc.h

在文件中PHP_FUNCTION(confirm_hmc_compiled);一行前面添加下面的代码

PHP_FUNCTION(say_hello);

保存文件退出
 

5.编译安装

#phpize
#./configure --enable-hmc

#make

#make install

应该在php的modules目录下有一个hmc.so文件,不同的机器位置会不一样

6.修改PHP配置

编辑php.ini,把扩展加入进去:
在[PHP]模块下增加:
extension = hmc.so
重启Httpd

#service httpd restart

 

7.php调用

建立一个c.php文件在对应的www目录下


say_hello();
?>

这时浏览器应该输出:

hello world

 

8.调试

可以在命令行下输入

#php –q c.php

需要进入当前的www目录下

查看是否安装好模块可以用phpinfo()

也可以适用php -m命令

先用

#which php

找到php所在目录,不同机器目录不一样

#/usr/bin/php -m

 

9.带参数的函数

Vi hmc.c

修改最后的say_hello函数内容如下:

PHP_FUNCTION(say_hello)
{
zval **yourname;
if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &yourname) == FAILURE)

{
WRONG_PARAM_COUNT;
}
zend_printf("hello world, %s\n", Z_STRVAL_PP(yourname));
}


修改c.php为


say_hello(“清清月儿");
?>

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),