PHP擴充套件開發就是一個自己的PHP擴充套件
通常需要一些C基礎的PHP擴充套件開發。但這篇文章介紹了擴充套件開發的另一種方法。用Zephir開發擴充套件PHP
1.基礎準備
1.1環境和軟體
以CentOS系統為例,執行:
yum install gcc make re2c autoconf automake
沒有PHP的同學需要裝一下PHP,本篇不再介紹
1.2 安裝解析器
拉取程式碼並編譯成擴充套件
mkdir /phptemp
cd /phptemp
git clone git://github.com/phalcon/php-zephir-parser.git
cd php-zephir-parser
//這裡替換成你的PHP所在目錄
/usr/local/php/bin/phpize
//這裡替換成你的PHP所在目錄
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
//這裡替換成你的PHP所在目錄
/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/
vim php.ini新增:
extension="zephir_parser.so"
1.3下載編譯軟體
cd /phptemp
wget
//重新命名為可執行檔案,並新增到環境變數中(也可以挪到已新增到環境變數中的目錄下)
mv zephir.phar zephir
新增成功時,在任意目錄執行zephir,都可以看到如下效果。
_____ __ _
/__ / ___ ____ / /_ (_)____
/ / / _ \/ __ \/ __ \/ / ___/
/ /__/ __/ /_/ / / / / / /
/____/\___/ .___/_/ /_/_/_/
/_/
2正式開始
2.1初始化擴充套件目錄
zephir init Huai
cd huai/huai
2.2編輯自己的第一個擴充套件檔案
vim common.zep namespace Huai; class Common { public static function say() { echo "hello world!"; } }
wq儲存退出
2.3構建包
cd ..
處於和config.json平級的目錄,執行
zephir build //注意,用root許可權執行
2.4將生成的擴充套件新增到php.ini目錄中
生成的檔案在config.json平級的目錄ext/modules裡
將so檔案挪到自己常用的so目錄。
這裡將目錄替換成自己的php擴充套件所在目錄
mv huai.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/
vim php.ini //增加自己的擴充套件
extension="huai.so"
2.5 試著執行一下
wq儲存並重啟PHP-FPM
php -m 檢視擴充套件是否已載入。
echo Huai\Common::say();
輸出:hello world!
是不是很簡單,Enojoy it!
本文來源:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69987244/viewspace-2732319/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 開發php擴充套件PHP套件
- Go開發PHP擴充套件GoPHP套件
- php擴充套件開發初探PHP套件
- PHP擴充套件開發教程2 – 編寫第一個擴充套件 hello worldPHP套件
- 新增php擴充套件PHP套件
- php ubuntu 擴充套件PHPUbuntu套件
- php開啟curl擴充套件PHP套件
- 從零開始建立一個 PHP 擴充套件PHP套件
- PHP 擴充套件安裝PHP套件
- PHP7擴充套件PHP套件
- 如何基於 PHP-X 快速開發一個 PHP 擴充套件PHP套件
- php7安裝redis擴充套件和memcache擴充套件PHPRedis套件
- 編寫自己的php擴充套件函式(一) (轉)PHP套件函式
- 怎麼樣“抄“一個PHP擴充套件PHP套件
- 編寫自己的php擴充套件函式 (轉)PHP套件函式
- 1. 我的第一個 PHP 擴充套件PHP套件
- PHP安裝redis擴充套件PHPRedis套件
- php amqp擴充套件安裝PHPMQ套件
- (MAC) PHP擴充套件安裝MacPHP套件
- php mysql擴充套件安裝PHPMySql套件
- php7windowsredis擴充套件PHPWindowsRedis套件
- PHP 擴充套件 Mongo 與 MongoDBPHP套件MongoDB
- PHP 擴充套件 Mysql 與 MysqliPHP套件MySql
- php 安裝yar擴充套件PHP套件
- php安裝openssl 擴充套件PHP套件
- php gmp擴充套件安裝PHP套件
- PHP opcache擴充套件安裝PHPopcache套件
- PHP安裝fastDFS擴充套件PHPAST套件
- 使用 Rust 建立 PHP 擴充套件RustPHP套件
- php以及php擴充套件memcache 安裝PHP套件
- 安裝php擴充套件 ffmpeg-phpPHP套件
- php mysqli擴充套件庫的使用PHPMySql套件
- 新增php的memcached擴充套件模組PHP套件
- 安裝PHP的memcache擴充套件PHP套件
- Linux下編寫一個PHP擴充套件LinuxPHP套件
- JMeter 擴充套件開發:擴充套件 TCP 取樣器JMeter套件TCP
- 如何編寫一個獨立的 PHP 擴充套件PHP套件
- docker PHP 安裝 Redis 擴充套件DockerPHPRedis套件