亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Linux下編寫一個PHP擴展

Gu_Yan / 1437人閱讀

摘要:假設(shè)需求開發(fā)一個叫做的擴展。擴展里有一個函數(shù),。完成上面的步驟,簡單的擴展就了。如果大家需要擴展包,可以關(guān)注微信公眾號。作者后端開發(fā)者提供相關(guān)技術(shù)服務自己懂的知識。

假設(shè)需求

開發(fā)一個叫做 helloWord 的擴展。

擴展里有一個函數(shù),helloWord()。

echo helloWord("Tom");
//返回:Hello World: Tom

本地環(huán)境

PHP版本:5.6.9

系統(tǒng):Linux CentOS release 6.5 (Final)

最終效果

實現(xiàn)流程

第一步:

進入到本地的php目錄執(zhí)行:

cd /root/soft/src/php-5.6.9
cd ext
./ext_skel --extname=helloWord
cd helloWord
vi config.m4

搜索:dnl Otherwise use enable 將下面修改成:

PHP_ARG_ENABLE(helloWorld, whether to enable helloWorld support,
[  --enable-helloWorld           Enable helloWorld support])

if test "$PHP_HELLOWORLD" != "no"; then

...

如圖:

第二步:

vi php_helloWorld.h

搜索:extern zend_module_entry 新增一行:

PHP_FUNCTION(helloWorld);

如圖:

第三步:

vi helloWorld.c

搜索:const zend_function_entry helloWorld_functions[] 新增一行:

PHP_FE(helloWorld, NULL)

如圖:

搜索:PHP_MINFO_FUNCTION(helloWorld) 

新增版本、作者信息

php_info_print_table_row(2, "Version", "1.0");
php_info_print_table_row(2, "Author", "BiHu");

如圖:

在 helloWorld.c 底部新增一個方法

PHP_FUNCTION(helloWorld)
{
    char *arg = NULL;
    int arg_len, len;
    char *strg;
    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {
        return;
    }
    len = spprintf(&strg, 0, "Hello World: %s", arg);
    RETURN_STRINGL(strg, len, 0);
}

如圖:

第四步:

//編譯安裝
cd /root/soft/src/php-5.6.9/ext
/usr/local/php/bin/phpize #用phpize生成configure配置文件
./configure --with-php-config=/usr/local/php/bin/php-config   #配置
make  #編譯
make install  #安裝

第五步:

//修改php.ini
extension="helloWorld.so"   #名稱為安裝擴展的名稱

第六步:

重啟環(huán)境。

完成上面的步驟,簡單的 helloWorld 擴展就OK了。

大家可以根據(jù)自己的需求,開發(fā)滿足自己的擴展。

比如,可以開發(fā)一些擴展類,擴展方法,等等。

如果大家需要helloWorld擴展包,可以關(guān)注微信公眾號。

回復 “helloWorld” 即可。


Thanks ~

作者:PHP后端開發(fā)者

提供PHP相關(guān)技術(shù)服務(自己懂的知識)。

QQ交流群:564557094。

關(guān)注微信公眾號,留言即可,看到留言后會及時回復。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/30574.html

相關(guān)文章

  • Linux下編譯安裝PHP的PECL擴展

    摘要:在網(wǎng)站對性能有很高要求的情況下,使用中的庫或者自己實現(xiàn)擴展,是很好的選擇。的擴展,可以使用命令來安裝,我主要分享下編譯安裝首先到的網(wǎng)站,找到自己需要的擴展包,下載到本地,解壓之,比如解壓后的路徑是進入擴展源碼的目錄,。 PECL是PHP的高性能C擴展,比如當前很火熱的擴展YAF,就是 鳥哥 編寫的一個PECL的PHP框架,性能相當出色。 在網(wǎng)站對性能有很高要求的情況下,使用PECL中的...

    ctriptech 評論0 收藏0
  • linux下編譯安裝redis服務與配置

    摘要:進入解壓文件之后利用工具生成利用編譯安裝包可以使用命令查看位置可以看到位置編譯安裝完成之后可以看到說明擴展已經(jīng)安裝成功了,接下來改的配置文件。 redis的安裝 1.服務器的環(huán)境 linux / CentOS release 6.5 (Final) 可以用 cat /etc/redhat-release 命令查看系統(tǒng)版本 2.下載redis(我用的是2.8.13的版本)可自己在官網(wǎng)下...

    ad6623 評論0 收藏0
  • linux下編譯安裝redis服務與配置

    摘要:進入解壓文件之后利用工具生成利用編譯安裝包可以使用命令查看位置可以看到位置編譯安裝完成之后可以看到說明擴展已經(jīng)安裝成功了,接下來改的配置文件。 redis的安裝 1.服務器的環(huán)境 linux / CentOS release 6.5 (Final) 可以用 cat /etc/redhat-release 命令查看系統(tǒng)版本 2.下載redis(我用的是2.8.13的版本)可自己在官網(wǎng)下...

    wudengzan 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<