编写第一个PHP扩展,实现创建a链接
2017-10-14 00:00
399 查看
摘要: liunx 环境下熟悉扩展开发骨架
环境:
ubuntu系统
PHP7.0(apt-get install php7.0 php7.0-dev -y)
下载PHP7.0源码包
新建PHP扩展函数原型
创建骨架,会生成create_href目录
进入目录,修改配置文件,和c文件
编译扩展,会在modules文件夹生成create_href.so
安装create_href.so扩展,修改php.ini,重启php7.0-fpm服务
编辑文件测试扩展是否有效
环境:
ubuntu系统
PHP7.0(apt-get install php7.0 php7.0-dev -y)
下载PHP7.0源码包
wget http://fi2.php.net/distributions/php-7.0.24.tar.gz tar -zxvf php-7.0.24.tar.gz cd php-7.0.24/ext/
新建PHP扩展函数原型
vim create_href.proto string create_href(string str)
创建骨架,会生成create_href目录
./ext_skel --extname=create_href --proto=create_href.proto
进入目录,修改配置文件,和c文件
cd create_href vim config.m4 去掉下面三行的dnl PHP_ARG_WITH(create_href, for create_href support, Make sure that the comment is aligned: [ --with-create_href Include create_href support]) vim create_href.c 修改PHP_FUNCTION(create_href)为下面的样子: PHP_FUNCTION(create_href) { char *str = NULL; int argc = ZEND_NUM_ARGS(); size_t str_len; if (zend_parse_parameters(argc, "s", &str, &str_len) == FAILURE) return; zend_string *strg; strg = strpprintf(0, "<a href=\"%.78s\"> %.78s </a>", str, str); RETURN_STR(strg); }
编译扩展,会在modules文件夹生成create_href.so
phpize ./configure --with-php-config=/usr/bin/php-config7.0 make && make test
安装create_href.so扩展,修改php.ini,重启php7.0-fpm服务
sudo make install sudo vim /etc/php/7.0/cli/php.ini 添加 extension=create_href.so sudo service php7.0-fpm restart
编辑文件测试扩展是否有效
vim create_href.php <?php echo create_href('www.baidu.com'); php create_href.php <a href="www.baidu.com"> www.baidu.com </a>
相关文章推荐
- PHP编写实现可以创建网站快捷方式的方法
- 关于windows下基于php7.0.2下编写的第一个扩展
- PHP 与 mysqli扩展 实现用户创建 查询 更新以及删除
- 【视频】从零开始编写第一个PHP扩展
- PHP 扩展开发[从零开始编写第一个PHP扩展]
- PHP扩展开发 - 实现第一个PHP类
- 用php代码实现数据库的链接,创建表格等
- c写php扩展之编译php源码,创建扩展模块,编写扩展demo
- c写php扩展之编译php源码,创建扩展模块,编写扩展demo
- 关于windows下基于php7.0.2下编写的第一个扩展
- c写php扩展之编译php源码,创建扩展模块,编写扩展demo
- 基于swoole扩展实现真正的PHP数据库连接池
- 为Python创建扩展,使python能实现内存共享
- PHP实现系统编程(五)--- 编写守护进程详解
- ubuntu12.04使用c编写php扩展模块教程分享
- Xamarin iOS编写第一个应用程序创建工程
- 用apache的动态so模式编写和编译php扩展
- Django tutorial(1)【翻译】编写第一个Django app,第一部分——创建项目
- PHP扩展编写示例
- php单例模式实现对象只被创建一次