今天在linux下开发php扩展,发现修改源代码重新编译安装后,.so文件还是原来的,并没有更新。最后清理了所有编译后产生的文件,重新编译安装才更新了.so文件。估计是编译后产生了缓存,为了方便清理,
今天在linux下开发php扩展,发现修改源代码重新编译安装后,.so文件还是原来的,并没有更新。最后清理了所有编译后产生的文件,重新编译安装才更新了.so文件。估计是编译后产生了缓存,为了方便清理,可以在ext_skel文件后面加入下面代码。
$ECHO_N " remake$ECHO_C"cat >remake <<eof#!/bin/shkeepfiles="php_${extname}.h ${extname}.c ${extname}.php config.m4 config.w32 CREDITS EXPERIMENTAL remake"allfiles=/$(ls .)for f in /$allfilesdo echo "/$keepfiles" | grep -q "/$f" if [ /$? -ne 0 ] then rm -rf /$f fidone#phpize路径/usr/local/webserver/php/bin/phpize#php-config路径./configure --with-php-config=/usr/local/webserver/php/bin/php-config#编译makeeofchmod 755 ./remake
测试运行
在扩展目录里新生成了remake文件,remake源码如下:
#!/bin/shkeepfiles="php_abc.h abc.c abc.php config.m4 config.w32 CREDITS EXPERIMENTAL remake"allfiles=$(ls .)for f in $allfilesdo echo "$keepfiles" | grep -q "$f" if [ $? -ne 0 ] then rm -rf $f fidone/www/wdlinux/nginx_php-5.3.17/bin/phpize./configure --with-php-config=/www/wdlinux/nginx_php-5.3.17/bin/php-configmake
以后重新编译扩展的时候用 ./remake 替代make命令编译即可。
如果您要转载此文章请注明出处:http://my.oschina.net/u/554660/blog/169006