青鳥(niǎo)翔天:Linux下C語(yǔ)言對(duì)PHP擴(kuò)展
現(xiàn)在常用的是php語(yǔ)言,哪如何實(shí)現(xiàn)常用計(jì)算機(jī)語(yǔ)言C語(yǔ)言和PHP的轉(zhuǎn)換呢?那我們河南北大青鳥(niǎo)電腦培訓(xùn)學(xué)校今天就給大家分享下,如何在Linux環(huán)境下實(shí)現(xiàn)C語(yǔ)言對(duì)PHP的擴(kuò)展。方法如下:
一,搭建php環(huán)境
下載php 5.2.6 源碼 并解壓,編譯安裝,搭建php環(huán)境。
二,創(chuàng)建擴(kuò)展項(xiàng)目
進(jìn)入源碼目錄
cd php5.2.6/ext/
./ext_skel --extname=my_ext
創(chuàng)建名字為my_ext的項(xiàng)目,最終會(huì)生成my_ext.so
三,更改配置和程序
$ vi ext/my_ext/config.m4
根據(jù)你自己的選擇將
dnl PHP_ARG_WITH(my_ext, for my_ext support,
dnl Make sure that the comment is aligned:
dnl [ --with-my_ext Include my_ext support])
修改成
PHP_ARG_WITH(my_ext, for my_ext support,
Make sure that the comment 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 comment 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 comment is aligned:
[ --enable-my_ext Enable my_ext support])
$ vi ext/my_ext/php_my_ext.h
將
PHP_FUNCTION(confirm_my_ext_compiled); /* For testing, remove later. */
更改為
PHP_FUNCTION(say_hello);
$ vi ext/my_ext/my_ext.c
將
zend_function_entry php5cpp_functions[] = {
PHP_FE(confirm_my_ext_compiled, NULL) /* For testing, remove later. */
{NULL, NULL, NULL} /* Must be the last line in php5cpp_functions[] */
};
更改為
zend_function_entry php5cpp_functions[] = {
PHP_FE(say_hello, NULL)
{NULL, NULL, NULL} /* Must be the last line in php5cpp_functions[] */
};
在最后添加:
PHP_FUNCTION(say_hello)
{
zend_printf("hello world\n");
}
四,編譯
$ cd my_ext
$ /usr/local/php/bin/phpize
ps: 如果出現(xiàn):Cannot find autoconf.……的錯(cuò)誤信息,則需要安裝 autoconf (安裝過(guò)程略)
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make
這時(shí)會(huì)編譯出 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
六,測(cè)試
$ vi test.php
<?php
say_hello();
?>
$ /usr/local/php/bin/php test.php
hello world.
至此就完成了。
本文源自:網(wǎng)路技術(shù) 版塊,更多網(wǎng)絡(luò)技術(shù)交流知識(shí)請(qǐng)鏈接:http://m.i3061.cn/jsjl/
本文由站河南北大青鳥(niǎo)校區(qū)整編而成,如需了解更多IT資訊類(lèi)的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問(wèn)題,可以對(duì)在線咨詢老師進(jìn)行一對(duì)一問(wèn)答!
推薦資訊
- 致鄭州北大青鳥(niǎo)百度貼吧吧友的一... 2015-08-18
- 高中生選擇什么行業(yè)才能有好出路... 2012-10-13
- 學(xué)Android課程到北大青鳥(niǎo),做最有... 2012-10-13
- O2O大潮下,青鳥(niǎo)O2O模式為什么這... 2015-03-25
- 轉(zhuǎn)行小忠告:轉(zhuǎn)行前請(qǐng)先“充電”... 2013-06-15
熱點(diǎn)資訊
- 電腦溫度多少是正常的情況呢?... 2018-09-07
- 四個(gè)策略及簡(jiǎn)單的防護(hù)方法... 2018-09-07
- 對(duì)硬盤(pán)進(jìn)行雙分區(qū)有什么好處... 2018-09-07
- 文件加密的幾個(gè)簡(jiǎn)單方法... 2018-09-07
- 計(jì)算機(jī)小技巧,80G硬盤(pán)巧變變成... 2018-09-07