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擴充套件開發教程2 – 編寫第一個擴充套件 hello worldPHP套件
- composer引入本地自己開發的php擴充套件包PHP套件
- 新增php擴充套件PHP套件
- PHP 擴充套件安裝PHP套件
- 如何基於 PHP-X 快速開發一個 PHP 擴充套件PHP套件
- 怎麼樣“抄“一個PHP擴充套件PHP套件
- Linux下編寫一個PHP擴充套件LinuxPHP套件
- PHP 安裝 yaconf 擴充套件PHP套件
- (MAC) PHP擴充套件安裝MacPHP套件
- php8.2 redis擴充套件PHPRedis套件
- PHP安裝redis擴充套件PHPRedis套件
- php新增pcntl擴充套件(Linux)PHP套件Linux
- php mysql擴充套件安裝PHPMySql套件
- php amqp擴充套件安裝PHPMQ套件
- php以及php擴充套件memcache 安裝PHP套件
- 用 PHP-CPP 開發 PHP 擴充套件:raylib-phpcppPHP套件
- 【PHP】php安裝bcmath擴充套件指令碼PHP套件指令碼
- PHP:php7.2.3 安裝pcntl 擴充套件PHP套件
- php 擴充套件安裝(隨筆)PHP套件
- PHP 安裝 amqp、rabbitmq 擴充套件PHPMQ套件
- PHP 操作 Redis 之 phpredis 擴充套件PHPRedis套件
- laragon 新增 PHP_Redis 擴充套件GoPHPRedis套件
- Homestead 安裝 PHP Redis 擴充套件PHPRedis套件
- laradock 中安裝 PHP 擴充套件PHP套件
- docker PHP 安裝 Redis 擴充套件DockerPHPRedis套件
- Laragon新增PHP_Redis擴充套件GoPHPRedis套件
- Linux 上安裝 PHP 擴充套件LinuxPHP套件
- Laravel homestead 安裝 PHP 擴充套件LaravelPHP套件
- JMeter 擴充套件開發:擴充套件 TCP 取樣器JMeter套件TCP
- centos安裝php的oracle擴充套件CentOSPHPOracle套件
- PHP的LZF壓縮擴充套件工具PHP套件
- PHP FFI詳解 - 一種全新的PHP擴充套件方式PHP套件
- lnmp 環境開啟 fileinfo php 擴充套件LNMPPHP套件
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- 一個簡單的 PHP 時間處理擴充套件PHP套件
- SG :一個簡單的PHP語法糖擴充套件PHP套件