開發php擴充套件

2021-06-16 08:06:44 字數 2536 閱讀 5561

1.原始碼安裝php

wget 

tar zxvf php-5.2.13.tar.gz

cd php-5.2.13

./configure --prefix=/csdn_verify_auth/php --with-config-file-path=/csdn_verify_auth/php/etc

make zend_extra_libs='-liconv'

make install

cp php.ini-dist /csdn_verify_auth/php/etc/php.ini

在./configure時可能提示

error: xml2-config not found. please check your libxml2 installation

執行 apt-get install libxml2-dev

make zend_extra_libs='-liconv'可能會提示  /usr/bin/ld: cannot find -liconv

iconv是gun開發的乙個編碼轉換的工具

需要手工安裝一下 

安裝後要在/usr/lib下建立乙個 名為libiconv.so到/usr/local/lib/libiconv.so.2.***的軟連線  ln -s /usr/local/lib/libiconv.so.2.xx libiconv.so

2.修改擴充套件路徑

extension_dir = "/csdn_verify_auth/php/lib/php/extensions/no-debug-non-zts-20060613"

不修改擴充套件路徑的話把生成的so包拷貝到預設擴充套件路徑也是可以的。

3.建立擴充套件專案

cd /csdn_verify_auth/php-5.2.13/ext/

./ext_skel --extname=csdn_verify_auth

4.更改配置和擴充套件程式開發

vi ext/csdn_verify_auth/config.m4

根據你自己的選擇將

dnl php_arg_with(csdn_verify_auth, for csdn_verify_auth support,

dnl make sure that the comment is aligned:

dnl [ --with-csdn_verify_auth include csdn_verify_auth support])

將dn1去掉

vi ext/csdn_verify_auth/php_csdn_verify_auth.h

將zend_function_entry php5cpp_functions = /* must be the last line in php5cpp_functions */ };

更改為zend_function_entry php5cpp_functions =

} /* must be the last line in php5cpp_functions */ };

5.編譯生成so檔案

cd /csdn_verify_auth/php-5.2.13/ext/csdn_verify_auth/

/csdn_verify_auth/php/bin/phpize

./configure --with-php-config=/csdn_verify_auth/php/bin/php-config

make

mv /csdn_verify_auth/php-5.2.13/ext/csdn_verify_auth/modules/csdn_verify_auth.so /csdn_verify_auth/php/lib/php/extensions/no-debug-non-zts-20060613

cd ../../../

6.測試擴充套件

vi /csdn_verify_auth/hello.php

csdn_verify_auth();

?>

/csdn_verify_auth/php/bin/php hello.php

hello world. ok

注意,執行

/csdn_verify_auth/php/bin/phpize時,要求系統配置了m4和autoconfig

執行以下命令

# cd /usr/src
# wget
# tar -zvxf m4-1.4.9.tar.gz
# cd m4-1.4.9/
# ./configure && make && make install
# cd ../
# wget
# tar -zvxf autoconf-2.62.tar.gz
# cd autoconf-2.62/
# ./configure && make && make install

或者sudo apt-get install m4

sudo apt-get install autoconf

關於autoconf的文章

開發php擴充套件

centos 6.8 1,安裝gcc yum y install gcc make autoconf 開啟eclipse file new c project 專案下有個重要的工具,php src ext ext skel 自動為我們建立擴充套件的指令碼 ext skel extname test ...

php擴充套件開發

php擴充套件 pecl 跟php引擎一樣都是使用c語言開發。php核心開發組成員鳥哥laruence使用的是vim進行php開發。書籍 案例 php src ext pecl開發郵件組 盡量編寫一些phpt測試用例,php src tests下有很多參考.測試時用 enable debug編譯ph...

php擴充套件開發

二 php擴充套件開發 擴充套件開發流程 生成開發骨架 修改config.m4 編碼 編譯擴充套件為so 修改php.ini 1.生成開發骨架 1.1 進入擴充套件目錄 cd php 7.0.1 ext 1.2 用.ext skel生成骨架 ext skel extname module 1.3 修...