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 修...