2016年7月

部署系统 Walle 在使用中遇到的一些问题吐槽

最近公司在用 walle ,感觉很不理解为什么一个用 yii2 开发的部署系统对 yii2 这么不友好,每次新项目上线都得配好久,新手得两天左右,总结下来坑如下:

1.各种文件需要新版发布时保持原样,就得 cp 来 cp 去,尤其使用 yii2-advanced 的人应该深有体会

2.由于使用了软链,所以开了 opcache 的话新版上线需要 reload php-fpm ,或者其他方式重置 opcache ,原因是 opcache 解析的文件路径是 realpath

3.如果使用了 git subtree 之类的需要自己在 composer 里添加 autoload 规则的东西,每次新版上线必须 composer dump-autoload ,具体原理不明

……好像还有其他的来着

关于PHP代码发布有一篇不错的文章: http://huoding.com/2016/05/27/515,十分推荐。

Ubuntu 安装 Kong 和 Cassandra

参考链接:

https://getkong.org/install/ubuntu/
https://www.digitalocean.com/community/tutorials/how-to-install-cassandra-and-run-a-single-node-cluster-on-ubuntu-14-04

安装 Kong :

apt update
apt upgrade
apt install netcat openssl libpcre3 dnsmasq procps
wget https://github.com/Mashape/kong/releases/download/0.8.3/kong-0.8.3.xenial_all.deb
dpkg -i kong-0.8.3.xenial_all.deb

安装 Cassandra :

echo "deb http://www.apache.org/dist/cassandra/debian 22x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
echo "deb-src http://www.apache.org/dist/cassandra/debian 22x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
gpg --keyserver pgp.mit.edu --recv-keys F758CE318D77295D
gpg --export --armor F758CE318D77295D | sudo apt-key add -
gpg --keyserver pgp.mit.edu --recv-keys 2B5C1B00
gpg --export --armor 2B5C1B00 | sudo apt-key add -
gpg --keyserver pgp.mit.edu --recv-keys 0353B12C
gpg --export --armor 0353B12C | sudo apt-key add -
apt update
apt upgrade
apt install cassandra

上海办理居住证记录

上海现在办理居住证越来越方便了,还有了自动签注机制,理论上没换工作没搬家的情况下就可以自动续期。

其实上海办理居住证最重要的就是四样东西:

  1. 身份证
  2. 居住证明
  3. 劳动合同
  4. 连续缴纳社保

初次申请居住证的时候稍微麻烦些,工作人员需要对提供的资料进行审核,注意点有:

  • 社保必须连续缴纳6个月(可以补缴)
  • 身份证上的居住地址必须与户籍地址一直,否则需要查看户口本原件(被这个坑过)
  • 如果是利用亲戚关系办理的话,需要办证人和房屋所有者在同一个户口本上,否则需要到老家派出所开亲戚关系证明
  • 租赁合同可以不通过中介,直接自己按照样张手写也可以,到办理点再填也完全没关系(被坑过100块钱)
  • 周六日一般也可以办理,在 962222.net 上可以查询到办理点的联系电话,去之前直接打电话问下比较好

签注续期就比较简单了,如果房屋租赁合同没过期,劳动合同也没过期,基本只要填个单子就行了。续期时间范围是过期日前30天至过期日后60天,也就是说过期两个月内进行签注即可,在过期日前可以等待自动签注,如果通过了会有短信提示。

PHP交互式终端里Backspace退格键无效,显示为^H的处理方法

参考链接:

如果使用 PHP 的交互式命令行(如:laravel 的 tinker)时出现类似的问题可使用如下命令:

rlwrap php artisan tinker

其他情况可以尝试使用以下命令,注意其中 ^H 不是直接输入,而是通过 Ctrl - v + Backspace 输入的:

stty erase ^H