注意此處生成的擴充套件是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...