時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
一,搭建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
say_hello();
?>
$ /usr/local/php/bin/php test.php
hello world.
則大功告成
關(guān)鍵詞標(biāo)簽:Linux,C語(yǔ)言,PHP擴(kuò)展
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫(xiě)負(fù)載