Linux下PHP已经编译,如何新增so扩展。

PHP下载地址:http://cl1.php.net/distributions/php-5.5.14.tar.gz

用到的一个sh:/usr/local/php/bin/phpize

原理:用phpize在压缩包里面找到对应的对应的扩展文件夹,在里面执行phpize,具体步骤:

PHP安装路径:/usr/local/php

PHP源码路径:/root/php-5.5.14

扩展假设zlib:/root/php-5.5.14/ext/bz2

执行代码:

ln -s /usr/local/php/bin/phpize /usr/bin/phpize

cd /root/php-5.5.14/ext/bz2

phpize

//这里提示报错,安装bzip2,bzip2-devel configure: error: Please reinstall the BZip2 distribution

//yum install -y bzip2 bzip2-devel

./configure –with-php-config=/usr/local/php/bin/php-config

make

make test

make install

vim /etc/php.ini ##加入extension=bz2.so

最近做个数据库远程备份  在还原数据库的时候  发现一个错误  进行不下去了

Data truncated for column ‘style’ at row 22 With statement:

INSERT INTO `abc` VALUES (‘1234’, ‘188’, ‘FDSOJFE2DF8’, ‘4’, ‘订单满1000元减100元’, null, ‘0.00’),

查了一下是emun引起的 有个style字段emun(1,2,3)  not null

解决办法是 修改表设置一个默认值  然后再用sql语句update一下

update `abc` set  `style`=1 where `style` not  in (1,2,3);

打开版本库根目录
增加tmp用来保存更新记录
进入hooks目录
复制post-commit.tmpl 文件,新文件名称为post-commit 不需要后缀。
打开文件,注释文件内所有内容,增加以下内容
export LANG=zh_CN.UTF-8
REPOS=”$1″
REV=”$2″

SVN_PATH=svn://172.246.164.41/yiicms
WEB_PATH=/www/web/yiicms/public_html
LOG_PATH=/www/svn/storage/tmp/svn_update.log

echo “\n\n\n########## start commit ” ` date “+%Y-%m-%d %H:%M:%S”` ‘##################’ >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
svn update /www/web/yiicms/public_html/
$SVN_PATH update –username dreamzml –password 421126 $WEB_PATH –no-auth-cache >> $LOG_PATH
chown -R www:www $WEB_PATH

#mailer.py commit “$REPOS” “$REV” /path/to/mailer.conf
来源:http://blog.csdn.net/dreamzml/article/details/12856965

同步

有时候你发现svn add后,这个提交的数据又不需要了。这时候需要有svn revert来处理了。

比如

A testcase/perday.php

如何取消呢?

svn revert testcase/perday.php

会出现下面的提示:

已恢复“testcase/perday.php”

说明脚本已经恢复了到原来的状态,不受SVN 版本控制了。

如何恢复整个目录??有时候你将整个目录都svn add了,整个目录有不同深度的文件夹,这时候你需要用其他方式来解决
svn revert –depth=infinity .

注意:上面一条语句后面的.绝对不能少,否则你不会操作成功。这条语句也要在svn 目录的外层执行。不能跑到svn add后的目录里面去执行。

执行完以后出现“Reverted ‘library/Cmsbase/phpmailer’”
表示将phpmailer目录整个恢复到svn版本控制前了