分类 操作系统 下的文章

Git merge合并分支的总结

创建分支并合并到主分支


  • 创建分支
git checkout -b mybranch
git push origin mybranch
git add .
git commit -m "info..."
git pull
git push

说明:pull报错 vim .git/config 复制拷贝分支信息

  • 把我的mybranch分支合并到主分支explorer
 git checkout explorer
 git merge mybranch 
 git status
 git push

git mrege 后,status提示有冲突的解决


  • 手动修改文件解决冲突,然后再次提交
git add .
git commit -m "info"
git pull
git push

遇到的问题


  • git pull后又提示冲突,并不能push,然后解决再add陷入死循环,甚至不能重置项目,只能删项目文件夹,重新clone
  • 自行找到的土办法

    • 在第一次git mrege出现冲突并手工修改完后,按一下步骤借助stash处理,其实最开始我stash是为了保存住代码,歪打正着
git add .
git stash 
git pull
git stash apply stash@{0}
git commit -m "update"
git pull
git push

说明:这样git log中就像是把之前在子分支上的所有提交归纳为一次普通提交,不会有mrege的提示,以前在我的子分支上的commit信息也没了,如各位看官有什么科学的办法,劳请告知

XAMPP安装memcache扩展的总结

先说点破事


  • 首先XAMPP是个不错的lampp集成包,安装和卸载方便,只需要解压和删除安装目录即可,快速便捷
  • 之前用的xampp包怎么也装不上扩展(xdebug),网上有朋友说因为没有装develop开发套件,我弄了个develop套件解压进去还是不行,苦恼了好一阵,忍忍就没再搞了
  • 上周又一次用到了memecache,这次不搞不行了,也决心把本地环境搞好,遂有了下面的曲折历程,记录之,由于过程波折可能会有点絮叨,见谅
  • 本机环境ubuntu12.04

XAMPP安装


  • 官网 https://www.apachefriends.org/zh_cn/index.html
  • 第一次安装的是1.7版本的tar包,不带develop开发套件,这一次是重新下载最新版的xampp-linux-5.5.19-0-installer.run,备注:.run文件安装需要先把文件权限调整为允许以程序执行文件,直接给777也行,具体可自行百度

开始memcache安装


参照 http://www.ccvita.com/257.html做的改动,感谢原博主

  • 安装memcache
sudo apt-get install memcache
  • 安装memcache的php扩展,通过编译方式安装,下载memcache的php扩展包,下载链接

    • 网上也有说通过sudo apt-get install php5-memcache安装,这里可能会和ubuntu自带的环境冲突,关联不到xampp上
  • 进入memcache的目录
tar vxzf memcache-2.2.1.tgz
cd memcache-2.2.1
/opt/lampp/bin/phpize
./configure --enable-memcache --with-php-config=/opt/lampp/bin/php-config --with-zlib-dir
make
make install
  • 重启apache,启动memcache
memcached -d -m 200 -u root -p 11211
  • 查看 /opt/lampp/bin/php -m 如果有memcache基本就成了,php如果连不上那就是启动端口问题

遇到的问题:


  • phpize根据你自己xampp安装的实际路径

configure报错


  • 开始按原文./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
  • 报错configure: error: Cannot find php-config. Please use --with-php-config=PATH
  • 我傻傻的跑了下./configure --enable-memcache --with-php-config=PATH
  • 再报错configure: error: Cannot find php-config. Please use --with-php-config=PATH
  • 我意识到PATH,参照原文的/usr/local/php/bin/php-config,知道了问题出在php-config
  • 直接去xampp的安装目录中搜索对应的php-config,然后获取路径换上

make install报错


  • 报错信息
cp: cannot create regular file `/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/    #INST@12000#': Permission denied
make: *** [install-modules] 错误 1
  • 干掉之前调试时的所有memcache进程
  • 干掉/opt/lampp/bin/php/extensions/no-debug-XXX/中之前复制过的memcache.so文件
  • 重点:把刚刚那个编译目录中的memcache.so拿过来放进去
sudo cp ~/memcache-2.2.7/modules/memcache.so  /opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/
  • 在php.ini中添加memcache.so
  • 貌似无所谓修改php.iniextension_dir,这个目录是根据自己的真实目录
extension_dir = "/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/"
  • 再重启apache,启动memcache,启动命令 memcached -d -m 200 -u root -p 11211
  • 再查看 /opt/lampp/bin/php -m 如果有memcache基本就成了,php如果连不上那就是启动端口问题

linux中编译安装jpeg报错make: ./libtool: Command not found

linux中编译安装jpeg-6b报错 make: ./libtool: Command not found

测试环境: centos 6.3 64bit

出错原因:libtool版本过低

解决:

  • rpm -qa |grep libtool查看版本
rpm -e libtool卸载libtool
  • 重新下载libtool默认安装
./configure
make
make install
  • 再次进入jpeg-6b的解压目录
    PS:这个路径是我亲测成功的
cp /usr/local/share/libtool/config/config.sub .
cp /usr/local/share/libtool/config/config.guess .
 ./configure --enable-shared --enable-static
make
mkdir -p /usr/local/man/man1
make install

PS:网上也有说从cp这个路径:

cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess .

Linux中在crond里使用tar的注意事项

问题:

平常使用tar打包习惯了tar -czvf ,我写了一个简单的备份脚本,然后添加在计划任务中,结果总是只打包了目标目录的一个子目录

解决:

左思右想,前后检查,才发现问题出在tar的参数上,去掉脚本中的-v,问题解决

  • -v :压缩的过程中显示文件!

说明:

这个命令虽然很常用,但却不适合用于后台执行的程序中
C4952D0CE0A70B32FD8DC66AE796788C_B500_900_500_49.jpeg

禁止php执行linux系统命令

  • 多命令如 shell_execsystempassthrupopen 等都是系统相关的合作,如果虚拟主机开放给使用者使用,或是在系统权限没设定完整的情况下,必然会造成很大的伤害;同时网站在有漏洞的情况下,也会对服务器造成很大伤害
  • 要达到这个需求,只要在 php.ini 里设定 disble_function 这个选项就能设定禁止执行的指令了。
disble_function = phpinfo
  • 要多个指令的话,用逗点隔开,如:
disble_function = shell_exec, system, passthru, popen
  • 典型的安全性配置,請參考如下設置:
disable_functions = shell_exec,system,exec,passthru,show_source,get_cfg_var

Linux破解密码

  • 开机按e
    弹出列表中的三个选择项
  • 选中第二个,按e
    在显示的命令行后,输入 空格+single
  • 再按esc返回到列表
    按b重启
  • su root
    切换到root
  • passwd
    输入新密码和重复输入新密码