編寫乙個簡單的php C擴充套件

2021-09-25 03:34:31 字數 1484 閱讀 9227

注意此處生成的擴充套件是linux版的php擴充套件 故生成的擴充套件結尾是.so的檔案

nginx:1.15.10

mysql:5.6.44

php:7.0

環境是lnmp

1. 找到php的安裝目錄下的ext資料夾(且存在ext_skel檔案)

2. ./ext_skel --extname=test_add

3. 其中test_add為建立的擴充套件名稱(此處根據個人情況自定義)

4. 執行2的命令會生成test_add資料夾

5. cd test_add

6. 核心檔案:config.m4 , php_test_add.h , test_add.c

7. 修改config.m4

8. 刪除如下 dnl

9. > dnl php_arg_with(test_add, for test_add support

> dnl make sure that the comment is aligned

> dnl [ --with-test_add include test_add support])

10.修改為如下**

> php_arg_with(test_add, for test_add support,

> [ --with-test_add include test_add support])

11.修改php_test_add.h

> 在最下面新增如下**:

> php_function(test_add);

12.修改test_add.c

> 在 php_fe 和 php_fe_end 新增如下**:

> php_fe(test_add, null)

> 在末尾加上這個方法的執行邏輯(此處進測試所以寫的簡單),

php_function(test_add)

13.接下來執行編譯即可,命令如下

> phpize

> ./configure

> 若出現報錯(configure: error: cannot find php-config. please use --with-php-config=path),則改為如下命令

> ./configure --with-php-config=/www/server/php/70/bin/php-config

> 其中www/server/php/70 是php的安裝目錄 具體到php-config的目錄

> make && make install

> 接下來進入php.ini檔案,新增如下**

> extension=test_add.so

> 儲存並重啟php-fpm即可

編寫乙個簡單的shell

include include include include include include include include void getloginname void gethostname void getdir p printf s p int main char argv 32 char...

編寫乙個簡單的死鎖

public class dead lock1 class runnable1 implements runnable catch exception e class runnable2 implements runnable catch exception e obj1 和 obj2 都是屬於類的...

乙個簡單的PHP擴充套件

php擴充套件開發 安裝php posix定時器 timer settime 我們先假設業務場景,是需要有這麼乙個擴充套件,提供乙個叫ccvita string的函式,他的主要作用是返回一段字元。這個業務場景實在太假,大家就這麼看看吧 對應的php 可能是這樣 function ccvita str...