只怪自己興趣太濃厚,啥都想搞點,一晃六年多過去了。
08年開始寫php擴充套件,之後就一直沒寫過。翻到之前的筆記從新記錄下。
現在php已經發展到5.5了,最新的phpng,也已經在php7中開始動工了。
git clone git:
2.進入到ext目錄下,使用
./ext_skel -extname=say_hi
之後會生成框架的主體,你可以看到有say_hi目錄出現
vim config.m4
注意看提示,dnl是注釋的意思
—with —enable的區別,找到合適你的把注釋去掉
區別在於你是否引入了其他外部元件,如果沒有就使用—enable
你需要在say_hi.c中修改如下部分
a)phpinfo中的鉤子
php_minfo_function
b)php_function
c)註冊zend_function_entry
然後就是常用的編譯擴充套件步驟
phpize
./configure
./make && make install
成功後你會看到有say_hi.so生成
你可以通過
a)phpinfo()檢視
b)php -m
c) php -r 「say_hi(『aaa』)"
參考位址
起步 學習php擴充套件開發的背景
php是解釋性語言,不需要編譯。對於用php寫的產品,如果需要直接原始碼安裝到客戶的執行環境中,則存在很大的安全隱患。客戶甚至可以把你的產品直接做二次部署或者銷售。目前我們公司就遇到這個問題。1.利用zend guard2.開發php擴充套件 php是用c語言實現的,php流行的很大乙個原因也是因為...
PHP擴充套件之Filter詳解
filter,它的作用就和他的名字一樣 過濾。filter內建了多個常用過濾器,根據過濾器功能的不同,可以分成淨化過濾器 sanitization 和驗證過濾器 validation 兩種。兩種的差別在於,淨化過濾器會把被過濾的變數中不符合規則的東西清除掉,返回清除後的內容 而驗證過濾器只是驗證的功...
php擴充套件的安裝之phpize
安裝php fastcgi模式 的時候,常常有這樣一句命令 usr local webserver php bin phpize 一 phpize是幹嘛的?phpize是什麼東西呢?php官方的說明 phpize是用來擴充套件php擴充套件模組的,通過phpize可以建立php的外掛程式模組 比如你...