亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在php項目中調用c語言接口

發布時間:2021-03-09 16:11:17 來源:億速云 閱讀:196 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關怎么在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文件,不同的機器位置會不一樣

怎么在php項目中調用c語言接口

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.帶參數的函數
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(“清清月兒");
?>

關于怎么在php項目中調用c語言接口就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

梁河县| 曲阜市| 万宁市| 浮山县| 禹城市| 扶绥县| 舒兰市| 宁武县| 陈巴尔虎旗| 林西县| 耒阳市| 繁昌县| 志丹县| 青冈县| 巫山县| 博客| 湖口县| 苏州市| 三江| 宁都县| 新兴县| 怀来县| 张家港市| 西充县| 台北县| 大同市| 抚松县| 衢州市| 托克托县| 乌兰浩特市| 八宿县| 柳州市| 从化市| 沙坪坝区| 琼结县| 龙岩市| 哈尔滨市| 治多县| 盐池县| 马边| 孝昌县|