文档章节

php扩展开发-清除编译缓存

布几岛
 布几岛
发布于 2013/10/15 18:20
字数 287
阅读 1491
收藏 18

今天在linux下开发php扩展,发现修改源代码重新编译安装后,.so文件还是原来的,并没有更新。最后清理了所有编译后产生的文件,重新编译安装才更新了.so文件。估计是编译后产生了缓存,为了方便清理,可以在ext_skel文件后面加入下面代码。

$ECHO_N " remake$ECHO_C"
cat >remake <<eof
#!/bin/sh
keepfiles="php_${extname}.h ${extname}.c ${extname}.php config.m4 config.w32 CREDITS EXPERIMENTAL remake"
allfiles=\$(ls .)
for f in \$allfiles
do
        echo "\$keepfiles" | grep -q "\$f"
        if [ \$? -ne 0 ]
        then
                rm -rf \$f
        fi
done

#phpize路径
/usr/local/webserver/php/bin/phpize

#php-config路径
./configure --with-php-config=/usr/local/webserver/php/bin/php-config

#编译
make

eof
chmod 755 ./remake


测试运行

在扩展目录里新生成了remake文件,remake源码如下:

#!/bin/sh
keepfiles="php_abc.h abc.c abc.php config.m4 config.w32 CREDITS EXPERIMENTAL remake"
allfiles=$(ls .)
for f in $allfiles
do
        echo "$keepfiles" | grep -q "$f"
        if [ $? -ne 0 ]
        then
                rm -rf $f
        fi
done
/www/wdlinux/nginx_php-5.3.17/bin/phpize
./configure --with-php-config=/www/wdlinux/nginx_php-5.3.17/bin/php-config
make

以后重新编译扩展的时候用 ./remake 替代make命令编译即可。


如果您要转载此文章请注明出处:http://my.oschina.net/u/554660/blog/169006

© 著作权归作者所有

共有 人打赏支持
布几岛
粉丝 6
博文 37
码字总数 10513
作品 0
海淀
高级程序员
Smarty中文手册,Smarty教程,Smarty模板的入门教材

Smarty中文手册,Smarty教程,Smarty模板的入门教材 Smarty - the compiling PHP template engine 点这里收藏此教程 本教材网址: http://www.hbcms.com/main/smarty/ Copyright © by ispi of......

晨曦之光
2012/03/09
426
0
ThinkPHP 2.0 版本正式发布

在经过5个月的重构和完善之后,ThinkPHP终 于发布了新的里程碑版本2.0,作为新版网站上线和祖国60周年华诞的献礼,我们送给大家这样一份惊喜。感谢为了新版的功能辛苦测试和完善的朋友们,感...

红薯
2009/10/16
1K
1
Smarty前端模板引擎 - 我看过的PHP开源框架

Smarty Smarty可以说是我接触PHP这门语言用到的第一个开源框架,当时在Smarty的帮助下,很好地完成了项目的开发,也很好地遵循了MVC的模式。但是到了后来,慢慢地发现,很多人都很熟悉Smart...

暗夜在火星
2014/12/25
0
0
php 的opcode缓存apc以及其安装

先说说php程序的执行流程吧,说明了这个,才好开始我们的优化之旅。 客户端(譬如浏览器) —》请求Get hello.php —-》cgi服务器接(譬如apache)收到请求,根据配置寻找php的处理程序(譬如...

晨曦之光
2012/03/09
492
1
PECL 和 PEAR 有什么区别?

要为大家分享的内容是PECL 和 PEAR 他们之间的不同和相同之处。 PEAR 是“PHP Extension and Application Repository”的缩写,即PHP扩展和应用仓库。   PEAR 将PHP程序开发过程中常用的功...

slagga
2016/11/15
9
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

idea新建springCloud项目(5)- 订单服务

1.创建订单api,如下: 2.创建订单实现逻辑 3.新建订单、订单商品表 -- 订单 create table `order_master` ( `order_id` varchar(32) not null, `buyer_name` varchar(32) not null comment......

monroeCode
15分钟前
1
1
游戏开发经验谈(二):对战类全球服游戏的设计与实现

上篇文章《游戏开发经验谈(一):游戏架构里隐藏的五个坑及其应对方案》,我们主要讲解了游戏架构设计当中隐藏的一些坑及其应对方案,错过的小伙伴可以回溯之前的内容。本期内容,将会重点介...

UCloudTech
25分钟前
0
0
Mysql基本语法

一.联合主键 drop table CONTENT_AND_CATALOG;CREATE TABLE `tobebetter`.`CONTENT_AND_CATALOG` ( `ID` VARCHAR(120) NOT NULL , `CONTENT_ID` VARCHAR(120) , `CA......

我是菜鸟我骄傲
26分钟前
0
0
179. centos7 安装mariadb

1. centos7 中安装mariadb 1.1 执行安装 centos7 自带了mariadb yum -y install mariadb mariadb-server 1.2 启动mariadb systemctl start mariadb 1.3 设置开机启动 systemctl enable maria......

Lucky_Me
33分钟前
0
0
【AI实战】动手训练自己的目标检测模型(YOLO篇)

在前面的文章中,已经介绍了基于SSD使用自己的数据训练目标检测模型(见文章:手把手教你训练自己的目标检测模型),本文将基于另一个目标检测模型YOLO,介绍如何使用自己的数据进行训练。 ...

雪饼
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部