国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php如何調用c接口無錯版

2024-05-04 21:54:39
字體:
來源:轉載
供稿:網(wǎng)友

 1.首先是要安裝好PHP

 

2.進入PHP的下載解壓目錄下的ext目錄

#cd /root/php-5.3.6/ext

#./ext_skel --extname=hmc

 

說明:

./ext_skel --extname=module_name
module_name是你自己可以選擇的擴展模塊的名字,例如我選擇的hmc。執(zhí)行工具后會自動在ext目錄下建立你選擇的module_name名字的目錄,里面已經生成了相關的代碼,這些代碼中只需要調整config.m4文件中的三行注釋就可以正常的編譯帶這個自定義擴展模塊的php了。

 

3.修改config.m4

可以將生成的module目錄復制到任意希望放置的地方

進入hmc目錄

vi config.m4

使用文本編輯器打開config.m4文件

根據(jù)你自己的選擇將

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文件,不同的機器位置會不一樣

php如何調用c接口無錯版  武林網(wǎng)

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如何調用c接口無錯版

也可以適用php -m命令

先用

#which php

找到php所在目錄,不同機器目錄不一樣

#/usr/bin/php -m

php如何調用c接口無錯版

 

9.帶參數(shù)的函數(shù)

Vi hmc.c

修改最后的say_hello函數(shù)內容如下:

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(“清清月兒");
?>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宝坻区| 小金县| 牡丹江市| 康平县| 鄂尔多斯市| 舟曲县| 蒲城县| 车险| 咸阳市| 左云县| 上栗县| 从化市| 南宁市| 台北县| 三都| 高碑店市| 佛山市| 延川县| 镇赉县| 乡城县| 浙江省| 留坝县| 昆山市| 田林县| 麟游县| 乐山市| 顺义区| 集贤县| 芜湖市| 汝南县| 怀化市| 平度市| 邢台市| 琼中| 林芝县| 静安区| 莱阳市| 永平县| 昌平区| 叙永县| 郁南县|